@scloud/lambda-api 1.0.2 → 1.0.3
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/handler.js +9 -7
- package/package.json +1 -1
package/dist/handler.js
CHANGED
|
@@ -3,18 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.apiHandler = apiHandler;
|
|
4
4
|
const types_1 = require("./types");
|
|
5
5
|
const helpers_1 = require("./helpers");
|
|
6
|
-
function
|
|
6
|
+
function apiErrorResponse(e) {
|
|
7
|
+
// Intentional API error response
|
|
7
8
|
if (e instanceof types_1.ApiError) {
|
|
8
9
|
return {
|
|
9
10
|
statusCode: e.statusCode,
|
|
10
11
|
body: e.body,
|
|
11
12
|
};
|
|
12
13
|
}
|
|
14
|
+
// Unhandled error
|
|
13
15
|
if (e)
|
|
14
|
-
console.error(
|
|
16
|
+
console.error(e instanceof Error ? e.stack : e);
|
|
15
17
|
return {
|
|
16
|
-
statusCode:
|
|
17
|
-
body:
|
|
18
|
+
statusCode: 500,
|
|
19
|
+
body: 'Internal server error',
|
|
18
20
|
};
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
@@ -66,11 +68,11 @@ async function apiHandler(event, context, routes = {
|
|
|
66
68
|
response = await errorHandler(request, e);
|
|
67
69
|
}
|
|
68
70
|
catch (ee) {
|
|
69
|
-
response =
|
|
71
|
+
response = apiErrorResponse(ee);
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
74
|
else {
|
|
73
|
-
response =
|
|
75
|
+
response = apiErrorResponse(e);
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
// Translate the response to an API Gateway Proxy result
|
|
@@ -103,4 +105,4 @@ async function apiHandler(event, context, routes = {
|
|
|
103
105
|
}
|
|
104
106
|
return result;
|
|
105
107
|
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBK0JBLGdDQXdGQztBQWxIRCxtQ0FHaUI7QUFDakIsdUNBQXdGO0FBRXhGLFNBQVMsZ0JBQWdCLENBQUMsQ0FBVztJQUNuQyxpQ0FBaUM7SUFDakMsSUFBSSxDQUFDLFlBQVksZ0JBQVEsRUFBRSxDQUFDO1FBQzFCLE9BQU87WUFDTCxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7WUFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1NBQ2IsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBSSxDQUFDO1FBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPO1FBQ0wsVUFBVSxFQUFFLEdBQUc7UUFDZixJQUFJLEVBQUUsdUJBQXVCO0tBQzlCLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSSxLQUFLLFVBQVUsVUFBVSxDQUM5QixLQUEyQixFQUMzQixPQUFnQixFQUNoQixTQUFpQjtJQUNmLE9BQU8sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFO0NBQ3ZGLEVBQ0QsZUFBZ0YsU0FBUyxFQUN6RixXQUFnQyxTQUFTO0lBRXpDLE1BQU0sT0FBTyxHQUFHLElBQUEsc0JBQVksRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxJQUFJLFFBQWtCLENBQUM7SUFDdkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBVSxFQUFDLE1BQU0sRUFB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WSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFGLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3ZCLENBQUM7U0FBTSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixnQ0FBZ0M7UUFDaEMsa0RBQWtEO1FBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLE1BQU0sTUFBTSxHQUEwQjtRQUNwQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVUsSUFBSSxHQUFHO1FBQ3RDLE9BQU87UUFDUCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7S0FDakIsQ0FBQztJQUVGLHFCQUFxQjtJQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFBLHFCQUFXLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNsQixNQUFNLENBQUMsaUJBQWlCLEdBQUc7WUFDekIsWUFBWSxFQUFFLGFBQWE7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVBJR2F0ZXdheVByb3h5RXZlbnQsXG4gIEFQSUdhdGV3YXlQcm94eVJlc3VsdCxcbiAgQ29udGV4dCxcbn0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQge1xuICBSZXF1ZXN0LCBSZXNwb25zZSwgSGFuZGxlciwgUm91dGUsIFJvdXRlcyxcbiAgQXBpRXJyb3IsXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRDb29raWUsIGdldEhlYWRlciwgbWF0Y2hSb3V0ZSwgcGFyc2VSZXF1ZXN0LCBzZXRIZWFkZXIgfSBmcm9tICcuL2hlbHBlcnMnO1xuXG5mdW5jdGlvbiBhcGlFcnJvclJlc3BvbnNlKGU/OiB1bmtub3duKTogUmVzcG9uc2Uge1xuICAvLyBJbnRlbnRpb25hbCBBUEkgZXJyb3IgcmVzcG9uc2VcbiAgaWYgKGUgaW5zdGFuY2VvZiBBcGlFcnJvcikge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiBlLnN0YXR1c0NvZGUsXG4gICAgICBib2R5OiBlLmJvZHksXG4gICAgfTtcbiAgfVxuXG4gIC8vIFVuaGFuZGxlZCBlcnJvclxuICBpZiAoZSkgY29uc29sZS5lcnJvcihlIGluc3RhbmNlb2YgRXJyb3IgPyBlLnN0YWNrIDogZSk7XG4gIHJldHVybiB7XG4gICAgc3RhdHVzQ29kZTogNTAwLFxuICAgIGJvZHk6ICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InLFxuICB9O1xufVxuXG4vKipcbiAqIEFQSSByb3V0ZSBoYW5kbGVyXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcGlIYW5kbGVyKFxuICBldmVudDogQVBJR2F0ZXdheVByb3h5RXZlbnQsXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIHJvdXRlczogUm91dGVzID0ge1xuICAgICcvcGluZyc6IHsgR0VUOiB7IGhhbmRsZXI6IGFzeW5jIChyZXF1ZXN0KSA9PiAoeyBzdGF0dXNDb2RlOiAyMDAsIGJvZHk6IHJlcXVlc3QgfSkgfSB9LFxuICB9LFxuICBlcnJvckhhbmRsZXI6ICgocmVxdWVzdDogUmVxdWVzdCwgZTogRXJyb3IpID0+IFByb21pc2U8UmVzcG9uc2U+KSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcbiAgY2F0Y2hBbGw6IEhhbmRsZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQsXG4pOiBQcm9taXNlPEFQSUdhdGV3YXlQcm94eVJlc3VsdD4ge1xuICBjb25zdCByZXF1ZXN0ID0gcGFyc2VSZXF1ZXN0KGV2ZW50KTtcblxuICBsZXQgcmVzcG9uc2U6IFJlc3BvbnNlO1xuICB0cnkge1xuICAgIGNvbnN0IG1hdGNoID0gbWF0Y2hSb3V0ZShyb3V0ZXMsIHJlcXVlc3QucGF0aCk7XG4gICAgaWYgKG1hdGNoLnBhcmFtcykgcmVxdWVzdC5wYXRoUGFyYW1ldGVycyA9IG1hdGNoLnBhcmFtcztcblxuICAgIGlmIChtYXRjaC5tZXRob2RzKSB7XG4gICAgICBjb25zdCByb3V0ZSA9IG1hdGNoLm1ldGhvZHNbcmVxdWVzdC5tZXRob2QgYXMga2V5b2YgUm91dGVdO1xuICAgICAgaWYgKCFyb3V0ZSkgdGhyb3cgbmV3IEFwaUVycm9yKDQwNSwgJ01ldGhvZCBub3QgYWxsb3dlZCcpO1xuXG4gICAgICAvLyBWZXJpZnkgcmVxdWVzdCBib2R5XG4gICAgICBpZiAocm91dGUucmVxdWVzdD8uYm9keSkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSByb3V0ZS5yZXF1ZXN0LmJvZHkuc2FmZVBhcnNlKHJlcXVlc3QuYm9keSk7XG4gICAgICAgIGlmICghcGFyc2VkLnN1Y2Nlc3MpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBpRXJyb3IoNDAwLCBwYXJzZWQuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHJlcXVlc3QuYm9keSA9IHBhcnNlZC5kYXRhO1xuICAgICAgfVxuXG4gICAgICByZXNwb25zZSA9IGF3YWl0IHJvdXRlLmhhbmRsZXIocmVxdWVzdCk7XG5cbiAgICAgIC8vIFZlcmlmeSByZXNwb25zZSBib2R5XG4gICAgICBpZiAocm91dGUucmVzcG9uc2U/LmJvZHkpIHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gcm91dGUucmVzcG9uc2UuYm9keS5zYWZlUGFyc2UocmVzcG9uc2UuYm9keSk7XG4gICAgICAgIGlmICghcGFyc2VkLnN1Y2Nlc3MpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKEpTT04uc3RyaW5naWZ5KHBhcnNlZC5lcnJvciwgbnVsbCwgMikpO1xuICAgICAgICAgIHRocm93IG5ldyBBcGlFcnJvcig1MDAsICdJbnRlcm5hbCBzZXJ2ZXIgZXJyb3InKTtcbiAgICAgICAgfVxuICAgICAgICByZXNwb25zZS5ib2R5ID0gcGFyc2VkLmRhdGE7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjYXRjaEFsbCkge1xuICAgICAgLy8gQ2F0Y2gtYWxsIC8gNDA0XG4gICAgICByZXNwb25zZSA9IGF3YWl0IGNhdGNoQWxsLmhhbmRsZXIocmVxdWVzdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBBcGlFcnJvcig0MDQsICdOb3QgZm91bmQnKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZXJyb3JIYW5kbGVyKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXNwb25zZSA9IGF3YWl0IGVycm9ySGFuZGxlcihyZXF1ZXN0LCBlIGFzIEVycm9yKTtcbiAgICAgIH0gY2F0Y2ggKGVlKSB7XG4gICAgICAgIHJlc3BvbnNlID0gYXBpRXJyb3JSZXNwb25zZShlZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3BvbnNlID0gYXBpRXJyb3JSZXNwb25zZShlKTtcbiAgICB9XG4gIH1cblxuICAvLyBUcmFuc2xhdGUgdGhlIHJlc3BvbnNlIHRvIGFuIEFQSSBHYXRld2F5IFByb3h5IHJlc3VsdFxuICBsZXQgYm9keTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb25zdCBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVycyB8fCB7fTtcbiAgaWYgKHR5cGVvZiByZXNwb25zZS5ib2R5ID09PSAnc3RyaW5nJykge1xuICAgIC8vIFVzZSB0aGUgYm9keSBhcy1pc1xuICAgIC8vIEFkZCB0ZXh0L3BsYWluIGlmIG5vIENvbnRlbnQtVHlwZSBoZWFkZXIgaXMgc2V0OlxuICAgIGlmICghZ2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCBoZWFkZXJzKSkgc2V0SGVhZGVyKCdDb250ZW50LVR5cGUnLCAndGV4dC9wbGFpbicsIGhlYWRlcnMpO1xuICAgIGJvZHkgPSByZXNwb25zZS5ib2R5O1xuICB9IGVsc2UgaWYgKHJlc3BvbnNlLmJvZHkpIHtcbiAgICAvLyBTdHJpbmdpZnkgdGhlIHJlc3BvbnNlIG9iamVjdFxuICAgIC8vIEFQSSBHYXRld2F5IHJldHVybnMgYXBwbGljYXRpb24vanNvbiBieSBkZWZhdWx0XG4gICAgYm9keSA9IEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmJvZHkpO1xuICB9XG5cbiAgLy8gUHJlcGFyZSByZXNwb25zZVxuICBjb25zdCByZXN1bHQ6IEFQSUdhdGV3YXlQcm94eVJlc3VsdCA9IHtcbiAgICBzdGF0dXNDb2RlOiByZXNwb25zZS5zdGF0dXNDb2RlID8/IDIwMCxcbiAgICBoZWFkZXJzLFxuICAgIGJvZHk6IGJvZHkgfHwgJycsXG4gIH07XG5cbiAgLy8gQWRkIGNvb2tpZSBoZWFkZXJzXG4gIGNvbnN0IGNvb2tpZUhlYWRlcnMgPSBidWlsZENvb2tpZShyZXNwb25zZSk7XG4gIGlmIChjb29raWVIZWFkZXJzKSB7XG4gICAgcmVzdWx0Lm11bHRpVmFsdWVIZWFkZXJzID0ge1xuICAgICAgJ1NldC1Db29raWUnOiBjb29raWVIZWFkZXJzLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|