Lines Matching refs:req

129   constructor(type, req) {
131 this.req = req;
382 req: {
435 function emitAbortNT(req) {
436 req.emit('abort');
449 const req = socket._httpMessage;
455 const res = req.res;
457 req.destroyed = true;
463 req._closed = true;
464 req.emit('close');
469 if (!req.socket._hadError) {
473 req.socket._hadError = true;
474 req.emit('error', connResetException('socket hang up'));
476 req._closed = true;
477 req.emit('close');
483 if (req.outputData)
484 req.outputData.length = 0;
488 freeParser(parser, req, socket);
494 const req = socket._httpMessage;
497 if (req) {
500 req.socket._hadError = true;
501 req.emit('error', err);
507 freeParser(parser, req, socket);
518 const req = this._httpMessage;
521 if (!req.res && !req.socket._hadError) {
524 req.socket._hadError = true;
525 req.emit('error', connResetException('socket hang up'));
529 freeParser(parser, req, socket);
536 const req = this._httpMessage;
545 freeParser(parser, req, socket);
549 req.socket._hadError = true;
550 req.emit('error', ret);
555 req.res = res;
561 if (req.timeoutCb) socket.removeListener('timeout', req.timeoutCb);
565 freeParser(parser, req, socket);
569 const eventName = req.method === 'CONNECT' ? 'connect' : 'upgrade';
570 if (req.listenerCount(eventName) > 0) {
571 req.upgradeOrConnect = true;
581 req.emit(eventName, res, socket, bodyHead);
582 req.destroyed = true;
583 req._closed = true;
584 req.emit('close');
599 freeParser(parser, req, socket);
614 const req = socket._httpMessage;
618 if (req.res) {
624 req.res = res;
631 const method = req.method;
639 req.res = null; // Clear res so that we don't hit double-responses.
642 req.emit('continue');
645 req.emit('information', {
658 if (req.shouldKeepAlive && !shouldKeepAlive && !req.upgradeOrConnect) {
662 req.shouldKeepAlive = false;
665 DTRACE_HTTP_CLIENT_RESPONSE(socket, req);
666 if (req[kClientRequestStatistics] && hasObserver('http')) {
667 stopPerf(req, kClientRequestStatistics, {
679 request: req,
683 if (isTraceHTTPEnabled() && typeof req._traceEventId === 'number') {
684 traceEnd(HTTP_CLIENT_TRACE_EVENT_NAME, req._traceEventId, {
685 path: req.path,
689 req.res = res;
690 res.req = req;
694 req.on('finish', requestOnFinish);
700 if (req.aborted || !req.emit('response', res))
715 function responseKeepAlive(req) {
716 const socket = req.socket;
719 if (req.timeoutCb) {
720 socket.setTimeout(0, req.timeoutCb);
721 req.timeoutCb = null;
736 defaultTriggerAsyncIdScope(asyncId, process.nextTick, emitFreeNT, req);
738 req.destroyed = true;
739 if (req.res) {
742 req.res.socket = null;
747 const req = this.req;
748 const socket = req.socket;
751 if (req.timeoutCb) socket.removeListener('timeout', emitRequestTimeout);
755 req._ended = true;
757 if (!req.shouldKeepAlive) {
766 } else if (req.writableFinished && !this.aborted) {
767 assert(req.finished);
768 // We can assume `req.finished` means all data has been written since:
771 // - `req.finished` means `end()` has been called and no further data.
773 // In addition, `req.writableFinished` means all data written has been
774 // accepted by the kernel. (i.e. the `req.socket` is drained).Without
776 responseKeepAlive(req);
781 const req = this._httpMessage;
782 if (!req) return;
783 const res = req.res;
791 const req = this;
793 if (req.shouldKeepAlive && req._ended)
794 responseKeepAlive(req);
797 function emitFreeNT(req) {
798 req._closed = true;
799 req.emit('close');
800 if (req.socket) {
801 req.socket.emit('free');
805 function tickOnSocket(req, socket) {
807 req.socket = socket;
808 const lenient = req.insecureHTTPParser === undefined ?
809 isLenient() : req.insecureHTTPParser;
811 new HTTPClientAsyncResource('HTTPINCOMINGMESSAGE', req),
812 req.maxHeaderSize || 0,
815 parser.outgoing = req;
816 req.parser = parser;
819 socket._httpMessage = req;
822 if (typeof req.maxHeadersCount === 'number') {
823 parser.maxHeaderPairs = req.maxHeadersCount << 1;
826 parser.joinDuplicateHeaders = req.joinDuplicateHeaders;
836 req.timeout !== undefined ||
837 (req.agent && req.agent.options && req.agent.options.timeout)
839 listenSocketTimeout(req);
841 req.emit('socket', socket);
845 const req = this._httpMessage;
846 if (req) {
847 req.emit('timeout');
851 function listenSocketTimeout(req) {
852 if (req.timeoutCb) {
856 req.timeoutCb = emitRequestTimeout;
858 if (req.socket) {
859 req.socket.once('timeout', emitRequestTimeout);
861 req.on('socket', (socket) => {
873 function onSocketNT(req, socket, err) {
874 if (req.destroyed || err) {
875 req.destroyed = true;
877 function _destroy(req, err) {
878 if (!req.aborted && !err) {
882 req.emit('error', err);
884 req._closed = true;
885 req.emit('close');
889 if (!err && req.agent && !socket.destroyed) {
892 finished(socket.destroy(err || req[kError]), (er) => {
896 _destroy(req, er || err);
902 _destroy(req, err || req[kError]);
904 tickOnSocket(req, socket);
905 req._flush();