@gemeentenijmegen/apigateway-http 0.0.2 → 0.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/README.md +4 -1
- package/lib/V2/Response.d.ts +1 -1
- package/lib/V2/Response.js +6 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ A package useful when developing serverless functions using AWS Lambda/Apigatewa
|
|
|
6
6
|
A response object with several methods for common http responses. Return these from your lambda handler:
|
|
7
7
|
|
|
8
8
|
```
|
|
9
|
-
import { Response } from @gemeentenijmegen/apigateway-http/lib/V2/Response;
|
|
9
|
+
import { Response } from '@gemeentenijmegen/apigateway-http/lib/V2/Response';
|
|
10
10
|
|
|
11
11
|
// Redirect to https://example.com
|
|
12
12
|
Response.redirect('https://example.com');
|
|
@@ -19,4 +19,7 @@ Response.error(403);
|
|
|
19
19
|
|
|
20
20
|
// Return a html page
|
|
21
21
|
Response.html('<!doctype html><html><head><title>My page</title></head><body>The html body</body></html>');
|
|
22
|
+
|
|
23
|
+
// Return a json response from a javascript object
|
|
24
|
+
Response.html({ key: 'value' });
|
|
22
25
|
```
|
package/lib/V2/Response.d.ts
CHANGED
|
@@ -11,6 +11,6 @@ export declare class Response {
|
|
|
11
11
|
static redirect(location: string, code?: number, cookies?: string[] | string): ApiGatewayV2Response;
|
|
12
12
|
static html(body: string, code?: number, cookies?: string[] | string): ApiGatewayV2Response;
|
|
13
13
|
static error(code?: number, message?: string): ApiGatewayV2Response;
|
|
14
|
-
static json(json: any, code?: number): ApiGatewayV2Response;
|
|
14
|
+
static json(json: any, code?: number, cookies?: string[] | string): ApiGatewayV2Response;
|
|
15
15
|
static ok(code?: number, message?: string): ApiGatewayV2Response;
|
|
16
16
|
}
|
package/lib/V2/Response.js
CHANGED
|
@@ -39,7 +39,10 @@ class Response {
|
|
|
39
39
|
statusCode: code,
|
|
40
40
|
};
|
|
41
41
|
}
|
|
42
|
-
static json(json, code = 200) {
|
|
42
|
+
static json(json, code = 200, cookies) {
|
|
43
|
+
if (cookies != undefined && !Array.isArray(cookies)) {
|
|
44
|
+
cookies = [cookies];
|
|
45
|
+
}
|
|
43
46
|
const body = JSON.stringify(json);
|
|
44
47
|
return {
|
|
45
48
|
statusCode: code,
|
|
@@ -47,6 +50,7 @@ class Response {
|
|
|
47
50
|
headers: {
|
|
48
51
|
'Content-type': 'application/json',
|
|
49
52
|
},
|
|
53
|
+
cookies,
|
|
50
54
|
};
|
|
51
55
|
}
|
|
52
56
|
static ok(code = 200, message) {
|
|
@@ -60,4 +64,4 @@ class Response {
|
|
|
60
64
|
}
|
|
61
65
|
}
|
|
62
66
|
exports.Response = Response;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVjIvUmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUE7O0dBRUc7QUFDSCxNQUFhLFFBQVE7SUFFbkIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQixFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsT0FBMkI7UUFDdkUsSUFBSSxPQUFPLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSTtZQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRTtnQkFDUCxRQUFRLEVBQUUsUUFBUTthQUNuQjtZQUNELE9BQU87U0FDUixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBWSxFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsT0FBMkI7UUFDL0QsSUFBSSxPQUFPLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU87WUFDTCxVQUFVLEVBQUUsSUFBSTtZQUNoQixJQUFJO1lBQ0osT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1lBQ0QsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLE9BQWdCO1FBRXZDLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJO1NBQ2pCLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFTLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxPQUEyQjtRQUM1RCxJQUFJLE9BQU8sSUFBSSxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25ELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUk7WUFDaEIsSUFBSTtZQUNKLE9BQU8sRUFBRTtnQkFDUCxjQUFjLEVBQUUsa0JBQWtCO2FBQ25DO1lBQ0QsT0FBTztTQUNSLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsR0FBRyxFQUFFLE9BQWdCO1FBQ3BDLElBQUksSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0NBRUY7QUFwRUQsNEJBb0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJR2F0ZXdheVByb3h5U3RydWN0dXJlZFJlc3VsdFYyIH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5cbi8qKlxuICogRXhwb3J0IHVuZGVyIGEgZGlmZmVyZW50IG5hbWUgZm9yIG5pY2UgY29kZSBjb21wbGV0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBpR2F0ZXdheVYyUmVzcG9uc2UgZXh0ZW5kcyBBUElHYXRld2F5UHJveHlTdHJ1Y3R1cmVkUmVzdWx0VjIge1xufVxuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIHNlbmRpbmcgQVBJIGdhdGV3YXkgdjIgcmVzcG9uc2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNwb25zZSB7XG5cbiAgc3RhdGljIHJlZGlyZWN0KGxvY2F0aW9uOiBzdHJpbmcsIGNvZGUgPSAzMDIsIGNvb2tpZXM/OiBzdHJpbmdbXSB8IHN0cmluZyk6IEFwaUdhdGV3YXlWMlJlc3BvbnNlIHtcbiAgICBpZiAoY29va2llcyAhPSB1bmRlZmluZWQgJiYgIUFycmF5LmlzQXJyYXkoY29va2llcykpIHtcbiAgICAgIGNvb2tpZXMgPSBbY29va2llc107XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiBjb2RlLFxuICAgICAgYm9keTogJycsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIExvY2F0aW9uOiBsb2NhdGlvbixcbiAgICAgIH0sXG4gICAgICBjb29raWVzLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgaHRtbChib2R5OiBzdHJpbmcsIGNvZGUgPSAyMDAsIGNvb2tpZXM/OiBzdHJpbmdbXSB8IHN0cmluZyk6IEFwaUdhdGV3YXlWMlJlc3BvbnNlIHtcbiAgICBpZiAoY29va2llcyAhPSB1bmRlZmluZWQgJiYgIUFycmF5LmlzQXJyYXkoY29va2llcykpIHtcbiAgICAgIGNvb2tpZXMgPSBbY29va2llc107XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiBjb2RlLFxuICAgICAgYm9keSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtdHlwZSc6ICd0ZXh0L2h0bWwnLFxuICAgICAgfSxcbiAgICAgIGNvb2tpZXMsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBlcnJvcihjb2RlID0gNTAwLCBtZXNzYWdlPzogc3RyaW5nKTogQXBpR2F0ZXdheVYyUmVzcG9uc2Uge1xuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmpzb24oeyBtZXNzYWdlOiBtZXNzYWdlIH0sIGNvZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXNDb2RlOiBjb2RlLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMganNvbihqc29uOiBhbnksIGNvZGUgPSAyMDAsIGNvb2tpZXM/OiBzdHJpbmdbXSB8IHN0cmluZyk6IEFwaUdhdGV3YXlWMlJlc3BvbnNlIHtcbiAgICBpZiAoY29va2llcyAhPSB1bmRlZmluZWQgJiYgIUFycmF5LmlzQXJyYXkoY29va2llcykpIHtcbiAgICAgIGNvb2tpZXMgPSBbY29va2llc107XG4gICAgfVxuICAgIGNvbnN0IGJvZHkgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzQ29kZTogY29kZSxcbiAgICAgIGJvZHksXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgICdDb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9LFxuICAgICAgY29va2llcyxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIG9rKGNvZGUgPSAyMDAsIG1lc3NhZ2U/OiBzdHJpbmcpOiBBcGlHYXRld2F5VjJSZXNwb25zZSB7XG4gICAgaWYgKGNvZGUgPCAyMDAgfHwgY29kZSA+PSAzMDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT25seSAyeHggc3RhdHVzY29kZXMgYXJlIGFsbG93ZWQnKTtcbiAgICB9XG5cbiAgICBpZiAobWVzc2FnZSkge1xuICAgICAgcmV0dXJuIHRoaXMuanNvbih7IG1lc3NhZ2U6IG1lc3NhZ2UgfSwgY29kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc3RhdHVzQ29kZTogY29kZSB9O1xuICB9XG5cbn0iXX0=
|