• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3require('../common');
4
5// Regression tests for https://github.com/nodejs/node/issues/40693
6
7const assert = require('assert');
8const net = require('net');
9const { AsyncLocalStorage } = require('async_hooks');
10
11net
12  .createServer((socket) => {
13    socket.write('Hello, world!');
14    socket.pipe(socket);
15  })
16  .listen(0, function() {
17    const asyncLocalStorage = new AsyncLocalStorage();
18    const store = { val: 'abcd' };
19    asyncLocalStorage.run(store, () => {
20      const client = net.connect({ port: this.address().port });
21      client.on('data', () => {
22        assert.deepStrictEqual(asyncLocalStorage.getStore(), store);
23        client.end();
24        this.close();
25      });
26    });
27  });
28