Buckets:
| const test = require('node:test') | |
| const http = require('node:http') | |
| const os = require('node:os') | |
| const tspl = require('@matteo.collina/tspl') | |
| const { sink, once } = require('./helper') | |
| const pino = require('../') | |
| const { pid } = process | |
| const hostname = os.hostname() | |
| test('http request support', async (t) => { | |
| const plan = tspl(t, { plan: 3 }) | |
| let originalReq | |
| const instance = pino(sink((chunk, enc) => { | |
| plan.ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()') | |
| delete chunk.time | |
| plan.deepEqual(chunk, { | |
| pid, | |
| hostname, | |
| level: 30, | |
| msg: 'my request', | |
| req: { | |
| method: originalReq.method, | |
| url: originalReq.url, | |
| headers: originalReq.headers, | |
| remoteAddress: originalReq.socket.remoteAddress, | |
| remotePort: originalReq.socket.remotePort | |
| } | |
| }) | |
| })) | |
| const server = http.createServer((req, res) => { | |
| originalReq = req | |
| instance.info(req, 'my request') | |
| res.end('hello') | |
| }) | |
| server.unref() | |
| server.listen() | |
| const err = await once(server, 'listening') | |
| plan.equal(err, undefined) | |
| const res = await once(http.get('http://localhost:' + server.address().port), 'response') | |
| res.resume() | |
| server.close() | |
| await plan | |
| }) | |
| test('http request support via serializer', async (t) => { | |
| const plan = tspl(t, { plan: 3 }) | |
| let originalReq | |
| const instance = pino({ | |
| serializers: { | |
| req: pino.stdSerializers.req | |
| } | |
| }, sink((chunk, enc) => { | |
| plan.ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()') | |
| delete chunk.time | |
| plan.deepEqual(chunk, { | |
| pid, | |
| hostname, | |
| level: 30, | |
| msg: 'my request', | |
| req: { | |
| method: originalReq.method, | |
| url: originalReq.url, | |
| headers: originalReq.headers, | |
| remoteAddress: originalReq.socket.remoteAddress, | |
| remotePort: originalReq.socket.remotePort | |
| } | |
| }) | |
| })) | |
| const server = http.createServer(function (req, res) { | |
| originalReq = req | |
| instance.info({ req }, 'my request') | |
| res.end('hello') | |
| }) | |
| server.unref() | |
| server.listen() | |
| const err = await once(server, 'listening') | |
| plan.equal(err, undefined) | |
| const res = await once(http.get('http://localhost:' + server.address().port), 'response') | |
| res.resume() | |
| server.close() | |
| await plan | |
| }) | |
| test('http response support', async (t) => { | |
| const plan = tspl(t, { plan: 3 }) | |
| let originalRes | |
| const instance = pino(sink((chunk, enc) => { | |
| plan.ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()') | |
| delete chunk.time | |
| plan.deepEqual(chunk, { | |
| pid, | |
| hostname, | |
| level: 30, | |
| msg: 'my response', | |
| res: { | |
| statusCode: originalRes.statusCode, | |
| headers: originalRes.getHeaders() | |
| } | |
| }) | |
| })) | |
| const server = http.createServer(function (req, res) { | |
| originalRes = res | |
| res.end('hello') | |
| instance.info(res, 'my response') | |
| }) | |
| server.unref() | |
| server.listen() | |
| const err = await once(server, 'listening') | |
| plan.equal(err, undefined) | |
| const res = await once(http.get('http://localhost:' + server.address().port), 'response') | |
| res.resume() | |
| server.close() | |
| await plan | |
| }) | |
| test('http response support via a serializer', async (t) => { | |
| const plan = tspl(t, { plan: 3 }) | |
| const instance = pino({ | |
| serializers: { | |
| res: pino.stdSerializers.res | |
| } | |
| }, sink((chunk, enc) => { | |
| plan.ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()') | |
| delete chunk.time | |
| plan.deepEqual(chunk, { | |
| pid, | |
| hostname, | |
| level: 30, | |
| msg: 'my response', | |
| res: { | |
| statusCode: 200, | |
| headers: { | |
| 'x-single': 'y', | |
| 'x-multi': [1, 2] | |
| } | |
| } | |
| }) | |
| })) | |
| const server = http.createServer(function (req, res) { | |
| res.setHeader('x-single', 'y') | |
| res.setHeader('x-multi', [1, 2]) | |
| res.end('hello') | |
| instance.info({ res }, 'my response') | |
| }) | |
| server.unref() | |
| server.listen() | |
| const err = await once(server, 'listening') | |
| plan.equal(err, undefined) | |
| const res = await once(http.get('http://localhost:' + server.address().port), 'response') | |
| res.resume() | |
| server.close() | |
| await plan | |
| }) | |
| test('http request support via serializer in a child', async (t) => { | |
| const plan = tspl(t, { plan: 3 }) | |
| let originalReq | |
| const instance = pino({ | |
| serializers: { | |
| req: pino.stdSerializers.req | |
| } | |
| }, sink((chunk, enc) => { | |
| plan.ok(new Date(chunk.time) <= new Date(), 'time is greater than Date.now()') | |
| delete chunk.time | |
| plan.deepEqual(chunk, { | |
| pid, | |
| hostname, | |
| level: 30, | |
| msg: 'my request', | |
| req: { | |
| method: originalReq.method, | |
| url: originalReq.url, | |
| headers: originalReq.headers, | |
| remoteAddress: originalReq.socket.remoteAddress, | |
| remotePort: originalReq.socket.remotePort | |
| } | |
| }) | |
| })) | |
| const server = http.createServer(function (req, res) { | |
| originalReq = req | |
| const child = instance.child({ req }) | |
| child.info('my request') | |
| res.end('hello') | |
| }) | |
| server.unref() | |
| server.listen() | |
| const err = await once(server, 'listening') | |
| plan.equal(err, undefined) | |
| const res = await once(http.get('http://localhost:' + server.address().port), 'response') | |
| res.resume() | |
| server.close() | |
| await plan | |
| }) | |
Xet Storage Details
- Size:
- 5.33 kB
- Xet hash:
- 046fcc04dc9e98ee1b54fc21dbf3d11ae7af139fb973f32b3f266c89caead157
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.