11import * as fs from 'fs-extra' ;
22import * as os from 'os' ;
33import { Clipboard , commands , env , ExtensionContext , Uri , ViewColumn , WebviewPanel , window , workspace } from 'vscode' ;
4- import { RequestHeaders , ResponseHeaders } from '../models/base' ;
54import { SystemSettings } from '../models/configurationSettings' ;
65import { HttpRequest } from '../models/httpRequest' ;
76import { HttpResponse } from '../models/httpResponse' ;
87import { PreviewOption } from '../models/previewOption' ;
98import { trace } from '../utils/decorator' ;
109import { disposeAll } from '../utils/dispose' ;
1110import { MimeUtility } from '../utils/mimeUtility' ;
12- import { base64 , getHeader , isJSONString } from '../utils/misc' ;
11+ import { base64 , formatHeaders , getHeader , isJSONString } from '../utils/misc' ;
1312import { ResponseFormatUtility } from '../utils/responseFormatUtility' ;
1413import { UserDataManager } from '../utils/userDataManager' ;
1514import { BaseWebview } from './baseWebview' ;
@@ -213,7 +212,7 @@ export class HttpResponseWebview extends BaseWebview {
213212
214213 private getFullResponseString ( response : HttpResponse ) : string {
215214 const statusLine = `HTTP/${ response . httpVersion } ${ response . statusCode } ${ response . statusMessage } ${ os . EOL } ` ;
216- const headerString = Object . entries ( response . headers ) . reduce ( ( acc , [ name , value ] ) => acc + ` ${ name } : ${ value } ${ os . EOL } ` , '' ) ;
215+ const headerString = formatHeaders ( response . headers ) ;
217216 const body = response . body ? `${ os . EOL } ${ response . body } ` : '' ;
218217 return `${ statusLine } ${ headerString } ${ body } ` ;
219218 }
@@ -284,7 +283,7 @@ export class HttpResponseWebview extends BaseWebview {
284283 // for add request details
285284 const request = response . request ;
286285 const requestNonBodyPart = `${ request . method } ${ request . url } HTTP/1.1
287- ${ HttpResponseWebview . formatHeaders ( request . headers ) } `;
286+ ${ formatHeaders ( request . headers ) } `;
288287 code += hljs . highlight ( 'http' , requestNonBodyPart + '\r\n' ) . value ;
289288 if ( request . body ) {
290289 if ( typeof request . body !== 'string' ) {
@@ -305,7 +304,7 @@ ${HttpResponseWebview.formatHeaders(request.headers)}`;
305304
306305 if ( previewOption !== PreviewOption . Body ) {
307306 const responseNonBodyPart = `HTTP/${ response . httpVersion } ${ response . statusCode } ${ response . statusMessage }
308- ${ HttpResponseWebview . formatHeaders ( response . headers ) } `;
307+ ${ formatHeaders ( response . headers ) } `;
309308 code += hljs . highlight ( 'http' , responseNonBodyPart + ( previewOption !== PreviewOption . Headers ? '\r\n' : '' ) ) . value ;
310309 }
311310
@@ -448,20 +447,6 @@ ${HttpResponseWebview.formatHeaders(response.headers)}`;
448447 return result ;
449448 }
450449
451- private static formatHeaders ( headers : RequestHeaders | ResponseHeaders ) : string {
452- let headerString = '' ;
453- for ( const header in headers ) {
454- if ( headers . hasOwnProperty ( header ) ) {
455- let value = headers [ header ] ;
456- if ( typeof headers [ header ] !== 'string' ) {
457- value = < string > headers [ header ] ;
458- }
459- headerString += `${ header } : ${ value } \n` ;
460- }
461- }
462- return headerString ;
463- }
464-
465450 private static getHighlightLanguageAlias ( contentType : string | undefined , content : string | null = null ) : string | null {
466451 if ( MimeUtility . isJSON ( contentType ) ) {
467452 return 'json' ;
0 commit comments