@gemeentenijmegen/apigateway-http 0.0.2 → 0.0.4
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/.gitattributes +1 -0
- package/README.md +4 -1
- package/lib/V2/Response.d.ts +1 -1
- package/lib/V2/Response.js +6 -2
- package/package.json +15 -15
package/.gitattributes
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
/.gitattributes linguist-generated
|
|
6
6
|
/.github/pull_request_template.md linguist-generated
|
|
7
7
|
/.github/workflows/build.yml linguist-generated
|
|
8
|
+
/.github/workflows/emergency.yml linguist-generated
|
|
8
9
|
/.github/workflows/pull-request-lint.yml linguist-generated
|
|
9
10
|
/.github/workflows/release.yml linguist-generated
|
|
10
11
|
/.github/workflows/upgrade-main.yml linguist-generated
|
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=
|
package/package.json
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gemeentenijmegen/apigateway-http",
|
|
3
|
+
"repository": {
|
|
4
|
+
"type": "git",
|
|
5
|
+
"url": "https://github.com/GemeenteNijmegen"
|
|
6
|
+
},
|
|
3
7
|
"scripts": {
|
|
4
8
|
"build": "npx projen build",
|
|
5
9
|
"bump": "npx projen bump",
|
|
@@ -21,32 +25,32 @@
|
|
|
21
25
|
"projen": "npx projen"
|
|
22
26
|
},
|
|
23
27
|
"devDependencies": {
|
|
24
|
-
"@
|
|
28
|
+
"@gemeentenijmegen/projen-project-type": "^1.2.0",
|
|
29
|
+
"@types/jest": "^29.4.0",
|
|
25
30
|
"@types/node": "^14",
|
|
26
31
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
27
32
|
"@typescript-eslint/parser": "^5",
|
|
28
33
|
"eslint": "^8",
|
|
29
|
-
"eslint-import-resolver-node": "^0.3.
|
|
30
|
-
"eslint-import-resolver-typescript": "^3.5.
|
|
31
|
-
"eslint-plugin-import": "^2.
|
|
32
|
-
"jest": "^29.
|
|
34
|
+
"eslint-import-resolver-node": "^0.3.7",
|
|
35
|
+
"eslint-import-resolver-typescript": "^3.5.3",
|
|
36
|
+
"eslint-plugin-import": "^2.27.5",
|
|
37
|
+
"jest": "^29.5.0",
|
|
33
38
|
"jest-junit": "^13",
|
|
34
|
-
"json-schema": "^0.4.0",
|
|
35
39
|
"npm-check-updates": "^16",
|
|
36
|
-
"projen": "^0.
|
|
40
|
+
"projen": "^0.67.75",
|
|
37
41
|
"standard-version": "^9",
|
|
38
|
-
"ts-jest": "^29.0.
|
|
39
|
-
"typescript": "^4.
|
|
42
|
+
"ts-jest": "^29.0.5",
|
|
43
|
+
"typescript": "^4.9.5"
|
|
40
44
|
},
|
|
41
45
|
"dependencies": {
|
|
42
|
-
"@types/aws-lambda": "^8.10.
|
|
46
|
+
"@types/aws-lambda": "^8.10.111"
|
|
43
47
|
},
|
|
44
48
|
"main": "lib/index.js",
|
|
45
49
|
"license": "EUPL-1.2",
|
|
46
50
|
"publishConfig": {
|
|
47
51
|
"access": "public"
|
|
48
52
|
},
|
|
49
|
-
"version": "0.0.
|
|
53
|
+
"version": "0.0.4",
|
|
50
54
|
"jest": {
|
|
51
55
|
"testMatch": [
|
|
52
56
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|
|
@@ -88,9 +92,5 @@
|
|
|
88
92
|
}
|
|
89
93
|
},
|
|
90
94
|
"types": "lib/index.d.ts",
|
|
91
|
-
"resolutions": {
|
|
92
|
-
"@types/responselike": "1.0.0",
|
|
93
|
-
"got": "12.3.1"
|
|
94
|
-
},
|
|
95
95
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"."
|
|
96
96
|
}
|