@quatrain/api-server-express 1.1.11 → 1.1.12

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.
@@ -6,6 +6,7 @@ export declare class ExpressAdapter implements ServerAdapter {
6
6
  constructor(appOrRouter?: express.Application | express.Router, config?: {
7
7
  apiPrefix?: string;
8
8
  });
9
+ private mapRequestResponse;
9
10
  private wrapHandler;
10
11
  get(path: string, handler: ApiHandler): void;
11
12
  post(path: string, handler: ApiHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ExpressAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,UAAU,EAA2B,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAMnI,qBAAa,cAAe,YAAW,aAAa;IAE9C,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;gBADN,WAAW,GAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,MAAkB,EAC7D,MAAM,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IAkB9C,OAAO,CAAC,WAAW;IA2CnB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU5C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU7C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAS/C,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAS1B,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IA+C9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAYzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAahD,iBAAiB,IAAI,GAAG;IAYxB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,IAAI;IAiBjE,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;CAUlG"}
1
+ {"version":3,"file":"ExpressAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ExpressAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,UAAU,EAA2B,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAMnI,qBAAa,cAAe,YAAW,aAAa;IAE9C,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,MAAM;gBADN,WAAW,GAAE,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,MAAkB,EAC7D,MAAM,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IAkB9C,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,WAAW;IAenB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU5C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU7C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAU5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAS/C,GAAG,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI;IAS1B,aAAa,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAmB9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAYzC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAahD,iBAAiB,IAAI,GAAG;IAYxB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,IAAI;IAiBjE,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,IAAI;CAUlG"}
@@ -25,36 +25,40 @@ class ExpressAdapter {
25
25
  });
26
26
  }
27
27
  }
28
+ mapRequestResponse(req, res) {
29
+ const apiReq = {
30
+ body: req.body,
31
+ params: req.params,
32
+ query: req.query,
33
+ headers: req.headers
34
+ };
35
+ const apiRes = {
36
+ status: (code) => {
37
+ res.status(code);
38
+ return apiRes;
39
+ },
40
+ json: (data) => {
41
+ res.json(data);
42
+ },
43
+ send: (data) => {
44
+ res.send(data);
45
+ },
46
+ setHeader: (name, value) => {
47
+ res.setHeader(name, value);
48
+ },
49
+ write: (data) => {
50
+ res.write(data);
51
+ },
52
+ end: () => {
53
+ res.end();
54
+ }
55
+ };
56
+ return { apiReq, apiRes };
57
+ }
28
58
  wrapHandler(handler) {
29
59
  return (req, res, next) => {
30
60
  void (async () => {
31
- const apiReq = {
32
- body: req.body,
33
- params: req.params,
34
- query: req.query,
35
- headers: req.headers
36
- };
37
- const apiRes = {
38
- status: (code) => {
39
- res.status(code);
40
- return apiRes;
41
- },
42
- json: (data) => {
43
- res.json(data);
44
- },
45
- send: (data) => {
46
- res.send(data);
47
- },
48
- setHeader: (name, value) => {
49
- res.setHeader(name, value);
50
- },
51
- write: (data) => {
52
- res.write(data);
53
- },
54
- end: () => {
55
- res.end();
56
- }
57
- };
61
+ const { apiReq, apiRes } = this.mapRequestResponse(req, res);
58
62
  await handler(apiReq, apiRes);
59
63
  })().catch(next);
60
64
  };
@@ -77,33 +81,7 @@ class ExpressAdapter {
77
81
  addMiddleware(middleware) {
78
82
  const expressMiddleware = (req, res, next) => {
79
83
  void (async () => {
80
- const apiReq = {
81
- body: req.body,
82
- params: req.params,
83
- query: req.query,
84
- headers: req.headers
85
- };
86
- const apiRes = {
87
- status: (code) => {
88
- res.status(code);
89
- return apiRes;
90
- },
91
- json: (data) => {
92
- res.json(data);
93
- },
94
- send: (data) => {
95
- res.send(data);
96
- },
97
- setHeader: (name, value) => {
98
- res.setHeader(name, value);
99
- },
100
- write: (data) => {
101
- res.write(data);
102
- },
103
- end: () => {
104
- res.end();
105
- }
106
- };
84
+ const { apiReq, apiRes } = this.mapRequestResponse(req, res);
107
85
  const shouldContinue = await middleware(apiReq, apiRes);
108
86
  if (shouldContinue) {
109
87
  next();
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressAdapter.js","sourceRoot":"","sources":["../../src/adapters/ExpressAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressAdapter.js","sourceRoot":"","sources":["../../src/adapters/ExpressAdapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quatrain/api-server-express",
3
- "version": "1.1.11",
3
+ "version": "1.1.12",
4
4
  "description": "Express Adapter for Quatrain API Server",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -26,38 +26,43 @@ export class ExpressAdapter implements ServerAdapter {
26
26
  }
27
27
  }
28
28
 
29
+ private mapRequestResponse(req: express.Request, res: express.Response): { apiReq: ApiRequest; apiRes: ApiResponse } {
30
+ const apiReq: ApiRequest = {
31
+ body: req.body,
32
+ params: req.params,
33
+ query: req.query,
34
+ headers: req.headers as Record<string, string | string[] | undefined>
35
+ }
36
+
37
+ const apiRes: ApiResponse = {
38
+ status: (code: number) => {
39
+ res.status(code)
40
+ return apiRes
41
+ },
42
+ json: (data: any) => {
43
+ res.json(data)
44
+ },
45
+ send: (data: string) => {
46
+ res.send(data)
47
+ },
48
+ setHeader: (name: string, value: string) => {
49
+ res.setHeader(name, value)
50
+ },
51
+ write: (data: string) => {
52
+ res.write(data)
53
+ },
54
+ end: () => {
55
+ res.end()
56
+ }
57
+ }
58
+
59
+ return { apiReq, apiRes }
60
+ }
61
+
29
62
  private wrapHandler(handler: ApiHandler): express.RequestHandler {
30
63
  return (req: express.Request, res: express.Response, next: express.NextFunction): void => {
31
64
  void (async () => {
32
- const apiReq: ApiRequest = {
33
- body: req.body,
34
- params: req.params,
35
- query: req.query,
36
- headers: req.headers as Record<string, string | string[] | undefined>
37
- }
38
-
39
- const apiRes: ApiResponse = {
40
- status: (code: number) => {
41
- res.status(code)
42
- return apiRes
43
- },
44
- json: (data: any) => {
45
- res.json(data)
46
- },
47
- send: (data: string) => {
48
- res.send(data)
49
- },
50
- setHeader: (name: string, value: string) => {
51
- res.setHeader(name, value)
52
- },
53
- write: (data: string) => {
54
- res.write(data)
55
- },
56
- end: () => {
57
- res.end()
58
- }
59
- }
60
-
65
+ const { apiReq, apiRes } = this.mapRequestResponse(req, res)
61
66
  await handler(apiReq, apiRes)
62
67
  })().catch(next)
63
68
  }
@@ -120,35 +125,7 @@ export class ExpressAdapter implements ServerAdapter {
120
125
  addMiddleware(middleware: ApiMiddleware): void {
121
126
  const expressMiddleware = (req: express.Request, res: express.Response, next: express.NextFunction): void => {
122
127
  void (async () => {
123
- const apiReq: ApiRequest = {
124
- body: req.body,
125
- params: req.params,
126
- query: req.query,
127
- headers: req.headers as Record<string, string | string[] | undefined>
128
- }
129
-
130
- const apiRes: ApiResponse = {
131
- status: (code: number) => {
132
- res.status(code)
133
- return apiRes
134
- },
135
- json: (data: any) => {
136
- res.json(data)
137
- },
138
- send: (data: string) => {
139
- res.send(data)
140
- },
141
- setHeader: (name: string, value: string) => {
142
- res.setHeader(name, value)
143
- },
144
- write: (data: string) => {
145
- res.write(data)
146
- },
147
- end: () => {
148
- res.end()
149
- }
150
- }
151
-
128
+ const { apiReq, apiRes } = this.mapRequestResponse(req, res)
152
129
  const shouldContinue = await middleware(apiReq, apiRes)
153
130
  if (shouldContinue) {
154
131
  next()