@@ -20,7 +20,7 @@ import {
20
20
21
21
import { stringToBuffer } from '../../util/buffer' ;
22
22
import { getHeaderValues , getHeaderValue } from '../../util/headers' ;
23
- import { ObservablePromise } from '../../util/observable' ;
23
+ import { ObservablePromise , observablePromise } from '../../util/observable' ;
24
24
import { unreachableCheck } from '../../util/error' ;
25
25
26
26
import { UI_VERSION } from '../../services/service-versions' ;
@@ -189,13 +189,10 @@ export function generateHarRequest(
189
189
waitForDecoding : boolean ,
190
190
options : HarGenerationOptions
191
191
) : ExtendedHarRequest | ObservablePromise < ExtendedHarRequest > {
192
- if ( waitForDecoding && (
193
- ! request . body . decodedPromise . state ||
194
- request . body . decodedPromise . state === 'pending'
195
- ) ) {
196
- return request . body . decodedPromise . then ( ( ) =>
192
+ if ( waitForDecoding && request . body . isPending ( ) ) {
193
+ return observablePromise ( request . body . waitForDecoding ( ) . then ( ( ) =>
197
194
generateHarRequest ( request , false , options )
198
- ) ;
195
+ ) ) ;
199
196
}
200
197
201
198
const requestEntry : ExtendedHarRequest = {
@@ -214,27 +211,27 @@ export function generateHarRequest(
214
211
} )
215
212
) ,
216
213
headersSize : - 1 ,
217
- bodySize : request . body . encoded . byteLength
214
+ bodySize : request . body . encodedByteLength
218
215
} ;
219
216
220
- if ( request . body . decoded ) {
221
- if ( request . body . decoded . byteLength > options . bodySizeLimit ) {
217
+ if ( request . body . isDecoded ( ) ) {
218
+ if ( request . body . decodedData . byteLength > options . bodySizeLimit ) {
222
219
requestEntry . _requestBodyStatus = 'discarded:too-large' ;
223
220
requestEntry . comment = `Body discarded during HAR generation: longer than limit of ${
224
221
options . bodySizeLimit
225
222
} bytes`;
226
223
} else {
227
224
try {
228
225
requestEntry . postData = generateHarPostBody (
229
- UTF8Decoder . decode ( request . body . decoded ) ,
226
+ UTF8Decoder . decode ( request . body . decodedData ) ,
230
227
getHeaderValue ( request . headers , 'content-type' ) || 'application/octet-stream'
231
228
) ;
232
229
} catch ( e ) {
233
230
if ( e instanceof TypeError ) {
234
231
requestEntry . _requestBodyStatus = 'discarded:not-representable' ;
235
232
requestEntry . _content = {
236
- text : request . body . decoded . toString ( 'base64' ) ,
237
- size : request . body . decoded . byteLength ,
233
+ text : request . body . decodedData . toString ( 'base64' ) ,
234
+ size : request . body . decodedData . byteLength ,
238
235
encoding : 'base64' ,
239
236
}
240
237
} else {
@@ -331,7 +328,7 @@ async function generateHarResponse(
331
328
} ;
332
329
}
333
330
334
- const decoded = await response . body . decodedPromise ;
331
+ const decoded = await response . body . waitForDecoding ( ) ;
335
332
336
333
let responseContent : { text : string , encoding ?: string } | { comment : string } ;
337
334
try {
@@ -364,13 +361,13 @@ async function generateHarResponse(
364
361
{
365
362
mimeType : getHeaderValue ( response . headers , 'content-type' ) ||
366
363
'application/octet-stream' ,
367
- size : response . body . decoded ?. byteLength || 0
364
+ size : decoded ?. byteLength || 0
368
365
} ,
369
366
responseContent
370
367
) ,
371
368
redirectURL : "" ,
372
369
headersSize : - 1 ,
373
- bodySize : response . body . encoded . byteLength || 0
370
+ bodySize : response . body . encodedByteLength || 0
374
371
} ;
375
372
}
376
373
0 commit comments