@@ -65,12 +65,12 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
65
65
const parser = this ;
66
66
const { socket } = parser ;
67
67
68
- if ( ! headers ) {
68
+ if ( headers === undefined ) {
69
69
headers = parser . _headers ;
70
70
parser . _headers = [ ] ;
71
71
}
72
72
73
- if ( ! url ) {
73
+ if ( url === undefined ) {
74
74
url = parser . _url ;
75
75
parser . _url = '' ;
76
76
}
@@ -80,64 +80,61 @@ function parserOnHeadersComplete(versionMajor, versionMinor, headers, method,
80
80
socket . server [ kIncomingMessage ] ) ||
81
81
IncomingMessage ;
82
82
83
- parser . incoming = new ParserIncomingMessage ( socket ) ;
84
- parser . incoming . httpVersionMajor = versionMajor ;
85
- parser . incoming . httpVersionMinor = versionMinor ;
86
- parser . incoming . httpVersion = `${ versionMajor } .${ versionMinor } ` ;
87
- parser . incoming . url = url ;
88
- parser . incoming . upgrade = upgrade ;
83
+ const incoming = parser . incoming = new ParserIncomingMessage ( socket ) ;
84
+ incoming . httpVersionMajor = versionMajor ;
85
+ incoming . httpVersionMinor = versionMinor ;
86
+ incoming . httpVersion = `${ versionMajor } .${ versionMinor } ` ;
87
+ incoming . url = url ;
88
+ incoming . upgrade = upgrade ;
89
89
90
90
var n = headers . length ;
91
91
92
92
// If parser.maxHeaderPairs <= 0 assume that there's no limit.
93
93
if ( parser . maxHeaderPairs > 0 )
94
94
n = Math . min ( n , parser . maxHeaderPairs ) ;
95
95
96
- parser . incoming . _addHeaderLines ( headers , n ) ;
96
+ incoming . _addHeaderLines ( headers , n ) ;
97
97
98
98
if ( typeof method === 'number' ) {
99
99
// server only
100
- parser . incoming . method = methods [ method ] ;
100
+ incoming . method = methods [ method ] ;
101
101
} else {
102
102
// client only
103
- parser . incoming . statusCode = statusCode ;
104
- parser . incoming . statusMessage = statusMessage ;
103
+ incoming . statusCode = statusCode ;
104
+ incoming . statusMessage = statusMessage ;
105
105
}
106
106
107
- return parser . onIncoming ( parser . incoming , shouldKeepAlive ) ;
107
+ return parser . onIncoming ( incoming , shouldKeepAlive ) ;
108
108
}
109
109
110
110
// XXX This is a mess.
111
111
// TODO: http.Parser should be a Writable emits request/response events.
112
112
function parserOnBody ( b , start , len ) {
113
- var parser = this ;
114
- var stream = parser . incoming ;
113
+ const stream = this . incoming ;
115
114
116
115
// if the stream has already been removed, then drop it.
117
- if ( ! stream )
116
+ if ( stream === null )
118
117
return ;
119
118
120
- var socket = stream . socket ;
121
-
122
119
// pretend this was the result of a stream._read call.
123
120
if ( len > 0 && ! stream . _dumped ) {
124
121
var slice = b . slice ( start , start + len ) ;
125
122
var ret = stream . push ( slice ) ;
126
123
if ( ! ret )
127
- readStop ( socket ) ;
124
+ readStop ( this . socket ) ;
128
125
}
129
126
}
130
127
131
128
function parserOnMessageComplete ( ) {
132
- var parser = this ;
133
- var stream = parser . incoming ;
129
+ const parser = this ;
130
+ const stream = parser . incoming ;
134
131
135
- if ( stream ) {
132
+ if ( stream !== null ) {
136
133
stream . complete = true ;
137
134
// Emit any trailing headers.
138
- var headers = parser . _headers ;
139
- if ( headers ) {
140
- parser . incoming . _addHeaderLines ( headers , headers . length ) ;
135
+ const headers = parser . _headers ;
136
+ if ( headers . length ) {
137
+ stream . _addHeaderLines ( headers , headers . length ) ;
141
138
parser . _headers = [ ] ;
142
139
parser . _url = '' ;
143
140
}
@@ -151,8 +148,8 @@ function parserOnMessageComplete() {
151
148
}
152
149
153
150
154
- var parsers = new FreeList ( 'parsers' , 1000 , function ( ) {
155
- var parser = new HTTPParser ( HTTPParser . REQUEST ) ;
151
+ const parsers = new FreeList ( 'parsers' , 1000 , function ( ) {
152
+ const parser = new HTTPParser ( HTTPParser . REQUEST ) ;
156
153
157
154
parser . _headers = [ ] ;
158
155
parser . _url = '' ;
0 commit comments