{"action":"opened","issue":{"url":"https://api.github.com/repos/e14n/pump.io/issues/1116","labels_url":"https://api.github.com/repos/e14n/pump.io/issues/1116/labels{/name}","comments_url":"https://api.github.com/repos/e14n/pump.io/issues/1116/comments","events_url":"https://api.github.com/repos/e14n/pump.io/issues/1116/events","html_url":"https://github.com/e14n/pump.io/issues/1116","id":112340742,"number":1116,"title":"Cannot read property 'sanitize' of null","user":{"login":"h4ck3rm1k3","id":34903,"avatar_url":"https://avatars.githubusercontent.com/u/34903?v=3","gravatar_id":"","url":"https://api.github.com/users/h4ck3rm1k3","html_url":"https://github.com/h4ck3rm1k3","followers_url":"https://api.github.com/users/h4ck3rm1k3/followers","following_url":"https://api.github.com/users/h4ck3rm1k3/following{/other_user}","gists_url":"https://api.github.com/users/h4ck3rm1k3/gists{/gist_id}","starred_url":"https://api.github.com/users/h4ck3rm1k3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h4ck3rm1k3/subscriptions","organizations_url":"https://api.github.com/users/h4ck3rm1k3/orgs","repos_url":"https://api.github.com/users/h4ck3rm1k3/repos","events_url":"https://api.github.com/users/h4ck3rm1k3/events{/privacy}","received_events_url":"https://api.github.com/users/h4ck3rm1k3/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-20T10:53:52Z","updated_at":"2015-10-20T10:53:52Z","closed_at":null,"body":"\r\nRunning locally and using this url\r\nhttp://127.0.0.1:31337/api/user/test5/inbox/direct/major\r\n\r\n```\r\nTypeError: Cannot read property 'sanitize' of null\r\n    at /mnt/data/home/mdupont/experiments/pump.io/lib/streams.js:151:24\r\n    at Array.forEach (native)\r\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/lib/streams.js:150:28)\r\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\r\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/node_modules/databank/lib/databankobject.js:245:21)\r\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\r\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/node_modules/databank/lib/databankobject.js:225:21)\r\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\r\n    at /mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:83:14\r\n    at check (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:99:9)\r\n```\r\n\r\nLog file \r\n```\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"component\":\"connect-databank\",\"level\":20,\"sid\":\"CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5/fIMRZ+R+73tMFUj+SauP+ckMym9u7iYC5tmVI\",\"session\":{\"lastAccess\":1445338108613,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2015-10-20T14:48:28.628Z\",\"httpOnly\":true,\"path\":\"/\"},\"sid\":\"CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5/fIMRZ+R+73tMFUj+SauP+ckMym9u7iYC5tmVI\",\"principal\":{\"id\":\"http://127.0.0.1:31337/api/user/test5/profile\",\"objectType\":\"person\"}},\"msg\":\"Got session.\",\"time\":\"2015-10-20T10:48:44.204Z\",\"v\":0}\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"req_id\":\"a769c86a-7df2-4069-9f73-789161ea0266\",\"component\":\"web\",\"level\":20,\"msg\":\"\",\"session\":{\"lastAccess\":1445338124204,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2015-10-20T14:48:28.628Z\",\"httpOnly\":true,\"path\":\"/\"},\"sid\":\"CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5/fIMRZ+R+73tMFUj+SauP+ckMym9u7iYC5tmVI\",\"principal\":{\"id\":\"http://127.0.0.1:31337/api/user/test5/profile\",\"objectType\":\"person\"}},\"time\":\"2015-10-20T10:48:44.204Z\",\"v\":0}\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"req_id\":\"a769c86a-7df2-4069-9f73-789161ea0266\",\"component\":\"web\",\"level\":20,\"msg\":\"\",\"principal\":{\"id\":\"http://127.0.0.1:31337/api/user/test5/profile\",\"type\":\"person\"},\"time\":\"2015-10-20T10:48:44.207Z\",\"v\":0}\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"req_id\":\"a769c86a-7df2-4069-9f73-789161ea0266\",\"component\":\"web\",\"level\":20,\"msg\":\"\",\"user\":{\"nickname\":\"test5\",\"updated\":\"2015-10-19T02:08:26Z\",\"published\":\"2015-10-19T02:08:26Z\",\"_passwordHash\":\"$2a$10$fidjwyX/z/qz6WYc6yRJ3.Rw8DKoyA/G7y6oWxOCYFI.WxA2VbIoC\",\"profile\":{\"objectType\":\"person\",\"id\":\"http://127.0.0.1:31337/api/user/test5/profile\"}},\"time\":\"2015-10-20T10:48:44.209Z\",\"v\":0}\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"level\":50,\"err\":{\"message\":\"Cannot read property 'sanitize' of null\",\"name\":\"TypeError\",\"stack\":\"TypeError: Cannot read property 'sanitize' of null\\n    at /mnt/data/home/mdupont/experiments/pump.io/lib/streams.js:151:24\\n    at Array.forEach (native)\\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/lib/streams.js:150:28)\\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/node_modules/databank/lib/databankobject.js:245:21)\\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/node_modules/databank/lib/databankobject.js:225:21)\\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\\n    at /mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:83:14\\n    at check (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:99:9)\"},\"req\":{\"method\":\"GET\",\"url\":\"/api/user/test5/inbox/direct/major\",\"headers\":{\"host\":\"127.0.0.1:31337\",\"user-agent\":\"Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.1.1\",\"accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",\"accept-language\":\"en-US,en;q=0.5\",\"accept-encoding\":\"gzip, deflate\",\"cookie\":\"connect.sid=CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5%2FfIMRZ%2BR%2B73tMFUj%2BSauP%2BckMym9u7iYC5tmVI\",\"connection\":\"keep-alive\",\"cache-control\":\"max-age=0\"},\"remoteAddress\":\"127.0.0.1\",\"remotePort\":43908},\"msg\":\"Cannot read property 'sanitize' of null\",\"time\":\"2015-10-20T10:48:44.218Z\",\"v\":0}\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"component\":\"connect-databank\",\"level\":20,\"sid\":\"CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5/fIMRZ+R+73tMFUj+SauP+ckMym9u7iYC5tmVI\",\"session\":{\"lastAccess\":1445338124204,\"cookie\":{\"originalMaxAge\":14400000,\"expires\":\"2015-10-20T14:48:44.219Z\",\"httpOnly\":true,\"path\":\"/\"},\"sid\":\"CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5/fIMRZ+R+73tMFUj+SauP+ckMym9u7iYC5tmVI\",\"principal\":{\"id\":\"http://127.0.0.1:31337/api/user/test5/profile\",\"objectType\":\"person\"}},\"msg\":\"Saved session.\",\"time\":\"2015-10-20T10:48:44.224Z\",\"v\":0}\r\n{\"name\":\"pump.io\",\"hostname\":\"mdupont-Aspire-7750G\",\"pid\":4549,\"req_id\":\"a769c86a-7df2-4069-9f73-789161ea0266\",\"component\":\"web\",\"level\":30,\"req\":{\"method\":\"GET\",\"url\":\"/api/user/test5/inbox/direct/major\",\"headers\":{\"host\":\"127.0.0.1:31337\",\"user-agent\":\"Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.1.1\",\"accept\":\"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\",\"accept-language\":\"en-US,en;q=0.5\",\"accept-encoding\":\"gzip, deflate\",\"cookie\":\"connect.sid=CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5%2FfIMRZ%2BR%2B73tMFUj%2BSauP%2BckMym9u7iYC5tmVI\",\"connection\":\"keep-alive\",\"cache-control\":\"max-age=0\"},\"remoteAddress\":\"127.0.0.1\",\"remotePort\":43908},\"res\":{\"statusCode\":500,\"header\":\"HTTP/1.1 500 Internal Server Error\\r\\nX-Powered-By: Express\\r\\nServer: pump.io/0.3.0 express/2.5.11 node.js/v4.2.1\\r\\nContent-Type: text/plain\\r\\nSet-Cookie: connect.sid=CJ6OzlBG8WG8SKQe3SAYB7u6.aPbr5%2FfIMRZ%2BR%2B73tMFUj%2BSauP%2BckMym9u7iYC5tmVI; path=/; expires=Tue, 20 Oct 2015 14:48:28 GMT; httpOnly\\r\\nDate: Tue, 20 Oct 2015 10:48:44 GMT\\r\\nConnection: keep-alive\\r\\nTransfer-Encoding: chunked\\r\\n\\r\\n\"},\"serverTime\":24,\"principal\":{\"id\":\"http://127.0.0.1:31337/api/user/test5/profile\",\"type\":\"person\"},\"client\":{\"title\":\"<none>\"},\"msg\":\"\",\"time\":\"2015-10-20T10:48:44.224Z\",\"v\":0}\r\n\r\n```\r\n\r\n\r\nNode debug console\r\n```\r\nHTTP 4549: SERVER socketOnParserExecute 461\r\nNET 4549: pipe false undefined\r\nNET 4549: _read\r\nNET 4549: _read wait for connection\r\nNET 4549: afterConnect\r\nNET 4549: _read\r\nNET 4549: Socket._read readStart\r\nNET 4549: onread 392\r\nNET 4549: got data\r\nNET 4549: _read\r\nMODULE 4549: Module._load REQUEST  ./person parent: /mnt/data/home/mdupont/experiments/pump.io/lib/model/activityobject.js\r\nMODULE 4549: RELATIVE: requested:./person set ID to: /mnt/data/home/mdupont/experiments/pump.io/lib/model/person from /mnt/data/home/mdupont/experiments/pump.io/lib/model/activityobject.js\r\nMODULE 4549: looking for \"/mnt/data/home/mdupont/experiments/pump.io/lib/model/person\" in [\"/mnt/data/home/mdupont/experiments/pump.io/lib/model\"]\r\nget ID http://127.0.0.1:31337/api/user/test5/profile\r\nNET 4549: onread 869\r\nNET 4549: got data\r\nread id:http://127.0.0.1:31337/api/user/test5/profile\r\nread value:[object Object]\r\nread value[person http://127.0.0.1:31337/api/user/test5/profile]\r\nMODULE 4549: Module._load REQUEST  ../upgrader parent: /mnt/data/home/mdupont/experiments/pump.io/lib/model/person.js\r\nMODULE 4549: RELATIVE: requested:../upgrader set ID to: /mnt/data/home/mdupont/experiments/pump.io/lib/upgrader from /mnt/data/home/mdupont/experiments/pump.io/lib/model/person.js\r\nMODULE 4549: looking for \"/mnt/data/home/mdupont/experiments/pump.io/lib/upgrader\" in [\"/mnt/data/home/mdupont/experiments/pump.io/lib/model\"]\r\nNET 4549: _read\r\nNET 4549: onread 52\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 285\r\nNET 4549: got data\r\nget IDtest5\r\nNET 4549: _read\r\nNET 4549: onread 285\r\nNET 4549: got data\r\nread id:test5\r\nread value:[object Object]\r\nread value[user test5]\r\nMODULE 4549: Module._load REQUEST  ./person parent: /mnt/data/home/mdupont/experiments/pump.io/lib/model/activityobject.js\r\nMODULE 4549: RELATIVE: requested:./person set ID to: /mnt/data/home/mdupont/experiments/pump.io/lib/model/person from /mnt/data/home/mdupont/experiments/pump.io/lib/model/activityobject.js\r\nMODULE 4549: looking for \"/mnt/data/home/mdupont/experiments/pump.io/lib/model/person\" in [\"/mnt/data/home/mdupont/experiments/pump.io/lib/model\"]\r\nget IDhttp://127.0.0.1:31337/api/user/test5/profile\r\nNET 4549: _read\r\nNET 4549: onread 869\r\nNET 4549: got data\r\nread id:http://127.0.0.1:31337/api/user/test5/profile\r\nread value:[object Object]\r\nread value[person http://127.0.0.1:31337/api/user/test5/profile]\r\nMODULE 4549: Module._load REQUEST  ../upgrader parent: /mnt/data/home/mdupont/experiments/pump.io/lib/model/person.js\r\nMODULE 4549: RELATIVE: requested:../upgrader set ID to: /mnt/data/home/mdupont/experiments/pump.io/lib/upgrader from /mnt/data/home/mdupont/experiments/pump.io/lib/model/person.js\r\nMODULE 4549: looking for \"/mnt/data/home/mdupont/experiments/pump.io/lib/upgrader\" in [\"/mnt/data/home/mdupont/experiments/pump.io/lib/model\"]\r\nget IDuser:test5:inbox:direct:major\r\nNET 4549: _read\r\nNET 4549: onread 96\r\nNET 4549: got data\r\nread id:user:test5:inbox:direct:major\r\nread value:[object Object]\r\nread value[stream user:test5:inbox:direct:major]\r\nNET 4549: _read\r\nNET 4549: onread 61\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 126\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 98\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 155\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 5\r\nNET 4549: got data\r\nNET 4549: _read\r\nTypeError: Cannot read property 'sanitize' of null\r\n    at /mnt/data/home/mdupont/experiments/pump.io/lib/streams.js:151:24\r\n    at Array.forEach (native)\r\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/lib/streams.js:150:28)\r\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\r\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/node_modules/databank/lib/databankobject.js:245:21)\r\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\r\n    at Function.<anonymous> (/mnt/data/home/mdupont/experiments/pump.io/node_modules/databank/lib/databankobject.js:225:21)\r\n    at next (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:51:23)\r\n    at /mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:83:14\r\n    at check (/mnt/data/home/mdupont/experiments/pump.io/node_modules/step/lib/step.js:99:9)\r\nNET 4549: onread 392\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 392\r\nNET 4549: got data\r\nNET 4549: _read\r\nNET 4549: onread 8\r\nNET 4549: got data\r\nNET 4549: _read\r\nHTTP 4549: write ret = true\r\nHTTP 4549: outgoing message end.\r\nNET 4549: afterWrite 0\r\nNET 4549: afterWrite call cb\r\nNET 4549: _onTimeout\r\nNET 4549: onSocketFinish\r\nNET 4549: oSF: not ended, call shutdown()\r\nNET 4549: destroy undefined\r\nNET 4549: destroy\r\nNET 4549: close\r\nNET 4549: close handle\r\nNET 4549: destroy undefined\r\nNET 4549: destroy\r\nNET 4549: already destroyed, fire error callbacks\r\nNET 4549: afterShutdown destroyed=true ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: false,\r\n  endEmitted: false,\r\n  reading: true,\r\n  sync: false,\r\n  needReadable: true,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: \r\n   { encoding: 'utf8',\r\n     surrogateSize: 3,\r\n     charBuffer: <Buffer 20 31 35 20 4f 63>,\r\n     charReceived: 0,\r\n     charLength: 0 },\r\n  encoding: 'utf8',\r\n  resumeScheduled: false }\r\nNET 4549: emit close\r\nNET 4528: onread -4095\r\nNET 4558: onread -4095\r\nNET 4538: onread -4095\r\nNET 4528: EOF\r\nNET 4558: EOF\r\nNET 4538: EOF\r\nNET 4528: onSocketEnd ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: true,\r\n  endEmitted: false,\r\n  reading: false,\r\n  sync: false,\r\n  needReadable: false,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: null,\r\n  encoding: null,\r\n  resumeScheduled: false }\r\nNET 4558: onSocketEnd ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: true,\r\n  endEmitted: false,\r\n  reading: false,\r\n  sync: false,\r\n  needReadable: false,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: null,\r\n  encoding: null,\r\n  resumeScheduled: false }\r\nNET 4558: onSocketFinish\r\nNET 4538: onSocketEnd ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: true,\r\n  endEmitted: false,\r\n  reading: false,\r\n  sync: false,\r\n  needReadable: false,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: null,\r\n  encoding: null,\r\n  resumeScheduled: false }\r\nNET 4528: onSocketFinish\r\nNET 4538: onSocketFinish\r\nNET 4558: oSF: ended, destroy ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: true,\r\n  endEmitted: true,\r\n  reading: false,\r\n  sync: false,\r\n  needReadable: false,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: null,\r\n  encoding: null,\r\n  resumeScheduled: false }\r\nNET 4558: destroy undefined\r\nNET 4538: oSF: ended, destroy ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: true,\r\n  endEmitted: true,\r\n  reading: false,\r\n  sync: false,\r\n  needReadable: false,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: null,\r\n  encoding: null,\r\n  resumeScheduled: false }\r\nNET 4558: destroy\r\nNET 4558: close\r\nNET 4538: destroy undefined\r\nNET 4558: close handle\r\nNET 4538: destroy\r\nNET 4538: close\r\nNET 4538: close handle\r\nNET 4558: has server\r\nNET 4558: SERVER _emitCloseIfDrained\r\nNET 4558: SERVER handle? true   connections? 0\r\nNET 4538: has server\r\nNET 4538: SERVER _emitCloseIfDrained\r\nNET 4558: emit close\r\nHTTP 4558: server socket close\r\nNET 4528: oSF: ended, destroy ReadableState {\r\n  objectMode: false,\r\n  highWaterMark: 16384,\r\n  buffer: [],\r\n  length: 0,\r\n  pipes: null,\r\n  pipesCount: 0,\r\n  flowing: true,\r\n  ended: true,\r\n  endEmitted: true,\r\n  reading: false,\r\n  sync: false,\r\n  needReadable: false,\r\n  emittedReadable: false,\r\n  readableListening: false,\r\n  defaultEncoding: 'utf8',\r\n  ranOut: false,\r\n  awaitDrain: 0,\r\n  readingMore: false,\r\n  decoder: null,\r\n  encoding: null,\r\n  resumeScheduled: false }\r\nNET 4528: destroy undefined\r\nNET 4528: destroy\r\nNET 4528: close\r\nNET 4528: close handle\r\nNET 4528: has server\r\nNET 4528: SERVER _emitCloseIfDrained\r\nNET 4538: SERVER handle? true   connections? 0\r\nNET 4528: SERVER handle? true   connections? 0\r\nNET 4528: emit close\r\nHTTP 4528: server socket close\r\nNET 4538: emit close\r\nHTTP 4538: server socket close\r\nNET 4533: onread -4095\r\nNET 4533: EOF\r\n\r\n```\r\n"}}