Skip to content

Commit 4b8ead8

Browse files
author
Dmitry Pimenov
committed
2 parents 9528e05 + 4a7a550 commit 4b8ead8

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

packages/node/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Just add the middleware to [Express](https://expressjs.com/), and that's it!
2020
```javascript
2121
const readme = require('readmeio');
2222

23-
app.use(readme.metrics('<<apiKey>>', req => ({
23+
app.use(readme.metrics('<<apiKey>>', (req, res) => ({
2424
id: req.<userId>,
2525
label: req.<userNameToShowInDashboard>,
2626
email: req.<userEmailAddress>,

packages/node/__tests__/index.test.js

+34
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,40 @@ describe('#metrics', () => {
126126
});
127127
});
128128

129+
it('should have access to group(req,res) objects', () => {
130+
const apiMock = getReadMeApiMock(1);
131+
const mock = nock(config.host, {
132+
reqheaders: {
133+
'Content-Type': 'application/json',
134+
'User-Agent': `${pkg.name}/${pkg.version}`,
135+
},
136+
})
137+
.post('/v1/request', ([body]) => {
138+
expect(body.group.a).toBe('a');
139+
expect(body.group.b).toBe('b');
140+
return true;
141+
})
142+
.basicAuth({ user: apiKey })
143+
.reply(200);
144+
145+
const app = express();
146+
app.use((req, res, next) => {
147+
req.a = 'a';
148+
res.b = 'b';
149+
next();
150+
});
151+
app.use(middleware.metrics(apiKey, (req, res) => ({ a: req.a, b: res.b })));
152+
app.get('/test', (req, res) => res.sendStatus(200));
153+
154+
return request(app)
155+
.get('/test')
156+
.expect(200)
157+
.then(() => {
158+
apiMock.done();
159+
mock.done();
160+
});
161+
});
162+
129163
describe('#bufferLength', () => {
130164
it('should send requests when number hits `bufferLength` size', async function test() {
131165
const apiMock = getReadMeApiMock(1);

packages/node/lib/construct-payload.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const { name, version } = require('../package.json');
55

66
module.exports = (req, res, group, options = {}, { logId, startedDateTime }) => ({
77
_id: logId,
8-
group: group(req),
8+
group: group(req, res),
99
clientIPAddress: req.ip,
1010
development: options.development,
1111
request: {

0 commit comments

Comments
 (0)