├── ip.js ├── errors.js └── protos.js /ip.js: -------------------------------------------------------------------------------- 1 | const { lookup } = require('dns') 2 | 3 | lookup('localhost', { all: true }, (err, addresses) => { 4 | console.log(addresses) 5 | }) 6 | -------------------------------------------------------------------------------- /errors.js: -------------------------------------------------------------------------------- 1 | const originalPrepare = Error.prepareStackTrace 2 | Error.prepareStackTrace = noOpPrepareStackTrace 3 | const stack = new Error().stack 4 | Error.prepareStackTrace = originalPrepare 5 | 6 | console.log(stack) 7 | 8 | function noOpPrepareStackTrace (err, stack) { 9 | return stack 10 | } 11 | -------------------------------------------------------------------------------- /protos.js: -------------------------------------------------------------------------------- 1 | const { IncomingMessage } = require('http'); 2 | const { Socket } = require('net'); 3 | 4 | function MyIcomingMessage (socket) { 5 | if (!(this instanceof MyIcomingMessage)) { 6 | return new MyIcomingMessage(socket); 7 | } 8 | 9 | IncomingMessage.call(this, socket); 10 | } 11 | 12 | Object.setPrototypeOf(MyIcomingMessage.prototype, IncomingMessage.prototype); 13 | Object.setPrototypeOf(MyIcomingMessage, IncomingMessage); 14 | 15 | new MyIcomingMessage(new Socket()); 16 | --------------------------------------------------------------------------------