1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.redirect = exports.error = exports.notAuthorized = exports.notFound = exports.custom = exports.invalid = exports.success = void 0;
|
4 | const common_1 = require("../../common");
|
5 | const CORS_HEADERS = {
|
6 | "Access-Control-Allow-Origin": "*",
|
7 | "Access-Control-Allow-Credentials": true,
|
8 | "Access-Control-Allow-Headers": "Test-Request",
|
9 | };
|
10 | const metrics = new common_1.Metrics("API Gateway");
|
11 | const defaultSuccess = {
|
12 | cors: true,
|
13 | statusCode: 200,
|
14 | };
|
15 | function success({ body, json = true, cors = true, statusCode = 200, headers, } = defaultSuccess) {
|
16 | const response = getResponseFromParameters({ body, json, cors, statusCode, headers });
|
17 | metrics.success(response);
|
18 | return response;
|
19 | }
|
20 | exports.success = success;
|
21 | const defaultInvalid = {
|
22 | cors: true,
|
23 | statusCode: 400,
|
24 | };
|
25 | function invalid({ body, json = true, cors = true, statusCode = 400, headers, } = defaultInvalid) {
|
26 | const response = getResponseFromParameters({ body, json, cors, statusCode, headers });
|
27 | metrics.invalid(response);
|
28 | return response;
|
29 | }
|
30 | exports.invalid = invalid;
|
31 | function custom({ body, json = true, cors = true, statusCode, headers }) {
|
32 | const response = getResponseFromParameters({ body, json, cors, statusCode, headers });
|
33 | metrics.custom(response);
|
34 | return response;
|
35 | }
|
36 | exports.custom = custom;
|
37 | const defaultNotFound = {
|
38 | cors: true,
|
39 | statusCode: 404,
|
40 | };
|
41 | function notFound({ body, json = true, cors = true, statusCode = 404, headers, } = defaultNotFound) {
|
42 | const response = getResponseFromParameters({ body, json, cors, statusCode, headers });
|
43 | metrics.invalid(response);
|
44 | return response;
|
45 | }
|
46 | exports.notFound = notFound;
|
47 | const defaultNotAuthorized = {
|
48 | cors: true,
|
49 | statusCode: 401,
|
50 | };
|
51 | function notAuthorized({ body, json = true, cors = true, statusCode = 401, headers, } = defaultNotAuthorized) {
|
52 | const response = getResponseFromParameters({ body, json, cors, statusCode, headers });
|
53 | metrics.invalid(response);
|
54 | return response;
|
55 | }
|
56 | exports.notAuthorized = notAuthorized;
|
57 | const defaultError = {
|
58 | cors: true,
|
59 | statusCode: 500,
|
60 | };
|
61 | function error({ body, json = true, cors = true, statusCode = 500, headers, err, } = defaultError) {
|
62 | if (err) {
|
63 | common_1.logger.debug("Encountered error while processing request", err);
|
64 | }
|
65 | const response = getResponseFromParameters({ body, json, cors, statusCode, headers });
|
66 | metrics.error(response);
|
67 | return response;
|
68 | }
|
69 | exports.error = error;
|
70 | function redirect({ url, cors = true, statusCode = 302, headers }) {
|
71 | const response = {
|
72 | statusCode,
|
73 | headers: cors ? Object.assign(Object.assign({ Location: url }, headers), CORS_HEADERS) : Object.assign({ Location: url }, headers),
|
74 | };
|
75 | metrics.redirect(response);
|
76 | return response;
|
77 | }
|
78 | exports.redirect = redirect;
|
79 | function getResponseFromParameters({ body, json, cors, statusCode, headers }) {
|
80 | const response = {
|
81 | statusCode,
|
82 | headers: cors ? Object.assign(Object.assign({}, headers), CORS_HEADERS) : headers,
|
83 | };
|
84 | if (body) {
|
85 | if (json) {
|
86 | response["body"] = JSON.stringify(body);
|
87 | response.headers["Content-Type"] = "application/json";
|
88 | }
|
89 | else {
|
90 | response["body"] = body;
|
91 | }
|
92 | }
|
93 | return response;
|
94 | }
|
95 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9zaGFyZWQvcmVzcG9uc2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUErQztBQUUvQyxNQUFNLFlBQVksR0FBRztJQUNuQiw2QkFBNkIsRUFBRSxHQUFHO0lBQ2xDLGtDQUFrQyxFQUFFLElBQUk7SUFDeEMsOEJBQThCLEVBQUUsY0FBYztDQUMvQyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQkFBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sY0FBYyxHQUF1QjtJQUN6QyxJQUFJLEVBQUUsSUFBSTtJQUNWLFVBQVUsRUFBRSxHQUFHO0NBQ2hCLENBQUM7QUFFRixTQUFnQixPQUFPLENBQUMsRUFDdEIsSUFBSSxFQUNKLElBQUksR0FBRyxJQUFJLEVBQ1gsSUFBSSxHQUFHLElBQUksRUFDWCxVQUFVLEdBQUcsR0FBRyxFQUNoQixPQUFPLE1BQ2UsY0FBYztJQUNwQyxNQUFNLFFBQVEsR0FBRyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3RGLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUIsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQVZELDBCQVVDO0FBRUQsTUFBTSxjQUFjLEdBQXVCO0lBQ3pDLElBQUksRUFBRSxJQUFJO0lBQ1YsVUFBVSxFQUFFLEdBQUc7Q0FDaEIsQ0FBQztBQUVGLFNBQWdCLE9BQU8sQ0FBQyxFQUN0QixJQUFJLEVBQ0osSUFBSSxHQUFHLElBQUksRUFDWCxJQUFJLEdBQUcsSUFBSSxFQUNYLFVBQVUsR0FBRyxHQUFHLEVBQ2hCLE9BQU8sTUFDZSxjQUFjO0lBQ3BDLE1BQU0sUUFBUSxHQUFHLHlCQUF5QixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUks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 |
\ | No newline at end of file |