@@ -38,7 +38,7 @@ describe('fixRequestBody', () => {
3838    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
3939    jest . spyOn ( proxyRequest ,  'write' ) ; 
4040
41-     fixRequestBody ( proxyRequest ,  createRequestWithBody ( undefined ) ,   fakeProxyResponse ( ) ,   { } ) ; 
41+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( undefined ) ) ; 
4242
4343    expect ( proxyRequest . setHeader ) . not . toHaveBeenCalled ( ) ; 
4444    expect ( proxyRequest . write ) . not . toHaveBeenCalled ( ) ; 
@@ -51,7 +51,7 @@ describe('fixRequestBody', () => {
5151    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
5252    jest . spyOn ( proxyRequest ,  'write' ) ; 
5353
54-     fixRequestBody ( proxyRequest ,  createRequestWithBody ( { } ) ,   fakeProxyResponse ( ) ,   { } ) ; 
54+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( { } ) ) ; 
5555
5656    expect ( proxyRequest . setHeader ) . toHaveBeenCalled ( ) ; 
5757    expect ( proxyRequest . write ) . toHaveBeenCalled ( ) ; 
@@ -64,12 +64,7 @@ describe('fixRequestBody', () => {
6464    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
6565    jest . spyOn ( proxyRequest ,  'write' ) ; 
6666
67-     fixRequestBody ( 
68-       proxyRequest , 
69-       createRequestWithBody ( {  someField : 'some value'  } ) , 
70-       fakeProxyResponse ( ) , 
71-       { } , 
72-     ) ; 
67+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
7368
7469    const  expectedBody  =  JSON . stringify ( {  someField : 'some value'  } ) ; 
7570    expect ( proxyRequest . setHeader ) . toHaveBeenCalledWith ( 'Content-Length' ,  expectedBody . length ) ; 
@@ -83,12 +78,7 @@ describe('fixRequestBody', () => {
8378    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
8479    jest . spyOn ( proxyRequest ,  'write' ) ; 
8580
86-     fixRequestBody ( 
87-       proxyRequest , 
88-       createRequestWithBody ( {  someField : 'some value'  } ) , 
89-       fakeProxyResponse ( ) , 
90-       { } , 
91-     ) ; 
81+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
9282
9383    const  expectedBody  =  handlerFormDataBodyData ( 'multipart/form-data' ,  { 
9484      someField : 'some value' , 
@@ -112,12 +102,7 @@ describe('fixRequestBody', () => {
112102    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
113103    jest . spyOn ( proxyRequest ,  'write' ) ; 
114104
115-     fixRequestBody ( 
116-       proxyRequest , 
117-       createRequestWithBody ( {  someField : 'some value'  } ) , 
118-       fakeProxyResponse ( ) , 
119-       { } , 
120-     ) ; 
105+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
121106
122107    const  expectedBody  =  handlerFormDataBodyData ( 'multipart/form-data' ,  { 
123108      someField : 'some value' , 
@@ -142,12 +127,7 @@ describe('fixRequestBody', () => {
142127    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
143128    jest . spyOn ( proxyRequest ,  'write' ) ; 
144129
145-     fixRequestBody ( 
146-       proxyRequest , 
147-       createRequestWithBody ( {  someField : 'some value'  } ) , 
148-       fakeProxyResponse ( ) , 
149-       { } , 
150-     ) ; 
130+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
151131    const  expectedBody  =  JSON . stringify ( {  someField : 'some value'  } ) ; 
152132    expect ( proxyRequest . setHeader ) . toHaveBeenCalledWith ( 'Content-Length' ,  expectedBody . length ) ; 
153133    expect ( proxyRequest . write ) . toHaveBeenCalledWith ( expectedBody ) ; 
@@ -160,12 +140,7 @@ describe('fixRequestBody', () => {
160140    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
161141    jest . spyOn ( proxyRequest ,  'write' ) ; 
162142
163-     fixRequestBody ( 
164-       proxyRequest , 
165-       createRequestWithBody ( {  someField : 'some value'  } ) , 
166-       fakeProxyResponse ( ) , 
167-       { } , 
168-     ) ; 
143+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
169144
170145    const  expectedBody  =  querystring . stringify ( {  someField : 'some value'  } ) ; 
171146    expect ( proxyRequest . setHeader ) . toHaveBeenCalledWith ( 'Content-Length' ,  expectedBody . length ) ; 
@@ -179,12 +154,7 @@ describe('fixRequestBody', () => {
179154    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
180155    jest . spyOn ( proxyRequest ,  'write' ) ; 
181156
182-     fixRequestBody ( 
183-       proxyRequest , 
184-       createRequestWithBody ( {  someField : 'some value'  } ) , 
185-       fakeProxyResponse ( ) , 
186-       { } , 
187-     ) ; 
157+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
188158
189159    const  expectedBody  =  querystring . stringify ( {  someField : 'some value'  } ) ; 
190160    expect ( proxyRequest . setHeader ) . toHaveBeenCalledWith ( 'Content-Length' ,  expectedBody . length ) ; 
@@ -198,69 +168,34 @@ describe('fixRequestBody', () => {
198168    jest . spyOn ( proxyRequest ,  'setHeader' ) ; 
199169    jest . spyOn ( proxyRequest ,  'write' ) ; 
200170
201-     fixRequestBody ( 
202-       proxyRequest , 
203-       createRequestWithBody ( {  someField : 'some value'  } ) , 
204-       fakeProxyResponse ( ) , 
205-       { } , 
206-     ) ; 
171+     fixRequestBody ( proxyRequest ,  createRequestWithBody ( {  someField : 'some value'  } ) ) ; 
207172
208173    const  expectedBody  =  JSON . stringify ( {  someField : 'some value'  } ) ; 
209174    expect ( proxyRequest . setHeader ) . toHaveBeenCalledWith ( 'Content-Length' ,  expectedBody . length ) ; 
210175    expect ( proxyRequest . write ) . toHaveBeenCalledTimes ( 1 ) ; 
211176    expect ( proxyRequest . write ) . toHaveBeenCalledWith ( expectedBody ) ; 
212177  } ) ; 
213178
214-   it ( 'should return 400 and abort request on "Connection: Upgrade" header ' ,  ( )  =>  { 
179+   it ( 'should not fixRequestBody() when there bodyParser fails ' ,  ( )  =>  { 
215180    const  proxyRequest  =  fakeProxyRequest ( ) ; 
216-     const  request  =  createRequestWithBody ( {  someField : 'some value'  } ) ; 
217-     const  proxyResponse  =  fakeProxyResponse ( ) ; 
218-     proxyRequest . setHeader ( 'connection' ,  'upgrade' ) ; 
219-     proxyRequest . setHeader ( 'content-type' ,  'application/x-www-form-urlencoded' ) ; 
220- 
221-     jest . spyOn ( proxyRequest ,  'destroy' ) ; 
222-     jest . spyOn ( request ,  'destroy' ) ; 
223-     jest . spyOn ( proxyResponse ,  'writeHead' ) ; 
224-     jest . spyOn ( proxyResponse ,  'end' ) ; 
225- 
226-     const  logger  =  { 
227-       error : jest . fn ( ) , 
228-     } ; 
181+     const  request  =  { 
182+       get  readableLength ( )  { 
183+         return  4444 ;  // simulate bodyParser failure 
184+       } , 
185+     }  as  BodyParserLikeRequest ; 
229186
230-     fixRequestBody ( proxyRequest ,  request ,  proxyResponse ,  {  logger } ) ; 
231- 
232-     expect ( proxyResponse . writeHead ) . toHaveBeenCalledWith ( 400 ) ; 
233-     expect ( proxyResponse . end ) . toHaveBeenCalledTimes ( 1 ) ; 
234-     expect ( proxyRequest . destroy ) . toHaveBeenCalledTimes ( 1 ) ; 
235-     expect ( request . destroy ) . toHaveBeenCalledTimes ( 1 ) ; 
236-     expect ( logger . error ) . toHaveBeenCalledWith ( 
237-       `[HPM] HPM_UNEXPECTED_CONNECTION_UPGRADE_HEADER. Aborted request: /test_path` , 
238-     ) ; 
239-   } ) ; 
240- 
241-   it ( 'should return 400 and abort request on invalid request data' ,  ( )  =>  { 
242-     const  proxyRequest  =  fakeProxyRequest ( ) ; 
243-     const  request  =  createRequestWithBody ( {  'INVALID \n\r DATA' : ''  } ) ; 
244187    const  proxyResponse  =  fakeProxyResponse ( ) ; 
245188    proxyRequest . setHeader ( 'content-type' ,  'application/x-www-form-urlencoded' ) ; 
246189
190+     jest . spyOn ( proxyRequest ,  'write' ) ; 
247191    jest . spyOn ( proxyRequest ,  'destroy' ) ; 
248-     jest . spyOn ( request ,  'destroy' ) ; 
249192    jest . spyOn ( proxyResponse ,  'writeHead' ) ; 
250193    jest . spyOn ( proxyResponse ,  'end' ) ; 
251194
252-     const  logger  =  { 
253-       error : jest . fn ( ) , 
254-     } ; 
255- 
256-     fixRequestBody ( proxyRequest ,  request ,  proxyResponse ,  {  logger } ) ; 
195+     fixRequestBody ( proxyRequest ,  request ) ; 
257196
258-     expect ( proxyResponse . writeHead ) . toHaveBeenCalledWith ( 400 ) ; 
259-     expect ( proxyResponse . end ) . toHaveBeenCalledTimes ( 1 ) ; 
260-     expect ( proxyRequest . destroy ) . toHaveBeenCalledTimes ( 1 ) ; 
261-     expect ( request . destroy ) . toHaveBeenCalledTimes ( 1 ) ; 
262-     expect ( logger . error ) . toHaveBeenCalledWith ( 
263-       `[HPM] HPM_INVALID_REQUEST_DATA. Aborted request: /test_path` , 
264-     ) ; 
197+     expect ( proxyResponse . end ) . toHaveBeenCalledTimes ( 0 ) ; 
198+     expect ( proxyRequest . write ) . toHaveBeenCalledTimes ( 0 ) ; 
199+     expect ( proxyRequest . destroy ) . toHaveBeenCalledTimes ( 0 ) ; 
265200  } ) ; 
266201} ) ; 
0 commit comments