@belmonddev/catch-request-express-middleware 1.2.1 → 1.2.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.
Files changed (2) hide show
  1. package/index.js +21 -8
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -98,13 +98,19 @@ const overrideHttpModule = (httpModule, requestSentCb) => {
98
98
  };
99
99
 
100
100
  const callResponseCb = (responseCb, res) => {
101
+ let body;
102
+ try {
103
+ body = /application\/json;?.*?$/.test(res.getHeaders()['content-type'])
104
+ ? JSON.parse(res.bodyWritten)
105
+ : res.bodyWritten;
106
+ } catch (e) {
107
+ body = res.bodyWritten;
108
+ }
101
109
  responseCb({
102
110
  headers: res.getHeaders(),
103
111
  statusCode: res.statusCode,
104
112
  statusMessage: res.statusMessage,
105
- body: /application\/json;?.*?$/.test(res.getHeaders()['content-type'])
106
- ? JSON.parse(res.bodyWritten)
107
- : res.bodyWritten,
113
+ body,
108
114
  });
109
115
  };
110
116
 
@@ -113,7 +119,7 @@ const callReceivedCbs = (req, res, requestReceivedCb) => {
113
119
  headers: req.headers,
114
120
  method: req.method,
115
121
  host: req.headers.host,
116
- pathname: req.url,
122
+ pathname: req._parsedUrl.pathname,
117
123
  params: req.params,
118
124
  query: req.query,
119
125
  body: req.body,
@@ -162,11 +168,18 @@ const catchExpressReceivedRequest = (req, res, requestReceivedCb) => {
162
168
  }
163
169
  };
164
170
 
165
- const catchRequestExpressMiddleware = (requestReceivedCb, requestSentCb) => {
166
- overrideHttpModule(http, requestSentCb);
167
- overrideHttpModule(https, requestSentCb);
171
+ const catchRequestExpressMiddleware = (
172
+ requestReceivedCb = null,
173
+ requestSentCb = null
174
+ ) => {
175
+ if (requestSentCb) {
176
+ overrideHttpModule(http, requestSentCb);
177
+ overrideHttpModule(https, requestSentCb);
178
+ }
168
179
  return (req, res, next) => {
169
- catchExpressReceivedRequest(req, res, requestReceivedCb);
180
+ if (requestReceivedCb) {
181
+ catchExpressReceivedRequest(req, res, requestReceivedCb);
182
+ }
170
183
  next();
171
184
  };
172
185
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@belmonddev/catch-request-express-middleware",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "start": "nodemon -L --experimental-specifier-resolution=node ./src/index.js"