@mstuercke/api-utils 3.0.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rest/client/fetchRestApi.js +1 -1
- package/dist/rest/client/fetchRestApi.js.map +1 -1
- package/dist/rest/server/RestApi.d.ts +1 -1
- package/dist/rest/server/RestApi.d.ts.map +1 -1
- package/dist/rest/server/RestApi.js +3 -1
- package/dist/rest/server/RestApi.js.map +1 -1
- package/package.json +2 -2
|
@@ -13,7 +13,7 @@ export async function fetchRestApi(restApiUrl, route, request) {
|
|
|
13
13
|
throw `Request ${route.method} ${url} failed`;
|
|
14
14
|
const text = (await response.text()).trim();
|
|
15
15
|
return response.ok && response.status !== 204
|
|
16
|
-
? JSON.parse(text)
|
|
16
|
+
? text ? JSON.parse(text) : null
|
|
17
17
|
: null;
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=fetchRestApi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchRestApi.js","sourceRoot":"","sources":["../../../src/rest/client/fetchRestApi.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,YAAY,CAO9B,UAAkB,EAClB,KAA8G,EAC9G,OAAoJ;IAEtJ,MAAM,UAAU,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAwB,CAAC,CAAC,CAAC,SAAkB,CAAC;IACnG,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAA0B,CAAC,CAAC,CAAC,SAAkB,CAAC;IACvG,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAyB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAElF,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,EACH;QACE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACzC,CAAC,CAAC;IAEP,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,MAAM,WAAW,KAAK,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;IAEhD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchRestApi.js","sourceRoot":"","sources":["../../../src/rest/client/fetchRestApi.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,KAAK,UAAU,YAAY,CAO9B,UAAkB,EAClB,KAA8G,EAC9G,OAAoJ;IAEtJ,MAAM,UAAU,GAAG,YAAY,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAwB,CAAC,CAAC,CAAC,SAAkB,CAAC;IACnG,MAAM,WAAW,GAAG,aAAa,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAA0B,CAAC,CAAC,CAAC,SAAkB,CAAC;IACvG,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAyB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAC9F,MAAM,IAAI,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAElF,MAAM,GAAG,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CACxB,GAAG,EACH;QACE,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;KACzC,CAAC,CAAC;IAEP,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,MAAM,WAAW,KAAK,CAAC,MAAM,IAAI,GAAG,SAAS,CAAC;IAEhD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QACzC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAChC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -4,7 +4,7 @@ export type AnyRestApiRouteHandler = RestApiRouteHandler<RestPathParams, RestQue
|
|
|
4
4
|
export declare class RestApi {
|
|
5
5
|
private routeHandlers;
|
|
6
6
|
addRouteHandler<PathParams extends RestPathParams, QueryParams extends RestQueryParams, RequestHeaders extends RestRequestHeaders, RequestBody extends RestRequestBody, ResponseBody extends RestResponseBody, RequireAuthentication extends RestRequireAuthentication>(routeHandler: RestApiRouteHandler<PathParams, QueryParams, RequestHeaders, RequestBody, ResponseBody, RequireAuthentication>): this;
|
|
7
|
-
handleRequest(proxyEvent: APIGatewayProxyEvent): Promise<APIGatewayProxyResult>;
|
|
7
|
+
handleRequest(proxyEvent: APIGatewayProxyEvent, onError?: (error: unknown) => Promise<void>): Promise<APIGatewayProxyResult>;
|
|
8
8
|
private getMatchingRouteHandlers;
|
|
9
9
|
private getMatchingRouteHandler;
|
|
10
10
|
private extractPathParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestApi.d.ts","sourceRoot":"","sources":["../../../src/rest/server/RestApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEvE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAUlB,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CACpD,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,CAC5B,CAAA;AAOD,qBAAa,OAAO;IAClB,OAAO,CAAC,aAAa,CAAgC;IAErD,eAAe,CACX,UAAU,SAAS,cAAc,EACjC,WAAW,SAAS,eAAe,EACnC,cAAc,SAAS,kBAAkB,EACzC,WAAW,SAAS,eAAe,EACnC,YAAY,SAAS,gBAAgB,EACrC,qBAAqB,SAAS,yBAAyB,EACvD,YAAY,EAAE,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,CAAC;IAK1H,aAAa,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"RestApi.d.ts","sourceRoot":"","sources":["../../../src/rest/server/RestApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEvE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAUlB,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,CACpD,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,yBAAyB,CAC5B,CAAA;AAOD,qBAAa,OAAO;IAClB,OAAO,CAAC,aAAa,CAAgC;IAErD,eAAe,CACX,UAAU,SAAS,cAAc,EACjC,WAAW,SAAS,eAAe,EACnC,cAAc,SAAS,kBAAkB,EACzC,WAAW,SAAS,eAAe,EACnC,YAAY,SAAS,gBAAgB,EACrC,qBAAqB,SAAS,yBAAyB,EACvD,YAAY,EAAE,mBAAmB,CAAC,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,CAAC;IAK1H,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAwDlI,OAAO,CAAC,wBAAwB;IAahC,OAAO,CAAC,uBAAuB;IAK/B,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;CAc3B"}
|
|
@@ -11,7 +11,7 @@ export class RestApi {
|
|
|
11
11
|
this.routeHandlers = [...this.routeHandlers, routeHandler];
|
|
12
12
|
return this;
|
|
13
13
|
}
|
|
14
|
-
async handleRequest(proxyEvent) {
|
|
14
|
+
async handleRequest(proxyEvent, onError) {
|
|
15
15
|
try {
|
|
16
16
|
const url = new URL(`${proxyEvent.headers?.['origin'] || 'https://no-origin'}${proxyEvent.path}`);
|
|
17
17
|
const routeHandler = this.getMatchingRouteHandler(url, proxyEvent.httpMethod);
|
|
@@ -53,6 +53,8 @@ export class RestApi {
|
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
55
|
catch (error) {
|
|
56
|
+
if (onError)
|
|
57
|
+
await onError(error);
|
|
56
58
|
console.error(error);
|
|
57
59
|
return {
|
|
58
60
|
statusCode: 500,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestApi.js","sourceRoot":"","sources":["../../../src/rest/server/RestApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAYrC,MAAM,wBAAwB,GAAG;IAC/B,cAAc,EAAE,iCAAiC;IACjD,6BAA6B,EAAE,GAAG;IAClC,8BAA8B,EAAE,GAAG;IACnC,8BAA8B,EAAE,GAAG;CAC3B,CAAC;AAgBX,MAAM,OAAO,OAAO;IACV,aAAa,GAA6B,EAAE,CAAC;IAErD,eAAe,CAOX,YAA4H;QAC9H,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,YAAiD,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAgC;
|
|
1
|
+
{"version":3,"file":"RestApi.js","sourceRoot":"","sources":["../../../src/rest/server/RestApi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mstuercke/api-utils",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/**/*.js",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"@types/aws-lambda": "^8.10.133"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@mstuercke/bun-utils": "5.0.
|
|
63
|
+
"@mstuercke/bun-utils": "5.0.4",
|
|
64
64
|
"@types/aws-lambda": "^8.10.133",
|
|
65
65
|
"@types/bun": "^1.0.5",
|
|
66
66
|
"@types/path-to-regexp": "^1.7.0",
|