@@ -31,6 +31,7 @@ describe('NetworkFormatter', () => {
3131 const formatter = await NetworkFormatter . from ( request , {
3232 requestId : 1 ,
3333 saveFile : async ( ) => ( { filename : '' } ) ,
34+ redactNetworkHeaders : false ,
3435 } ) ;
3536
3637 assert . equal (
@@ -43,6 +44,7 @@ describe('NetworkFormatter', () => {
4344 const formatter = await NetworkFormatter . from ( request , {
4445 requestId : 1 ,
4546 saveFile : async ( ) => ( { filename : '' } ) ,
47+ redactNetworkHeaders : false ,
4648 } ) ;
4749
4850 assert . equal (
@@ -56,6 +58,7 @@ describe('NetworkFormatter', () => {
5658 const formatter = await NetworkFormatter . from ( request , {
5759 requestId : 1 ,
5860 saveFile : async ( ) => ( { filename : '' } ) ,
61+ redactNetworkHeaders : false ,
5962 } ) ;
6063
6164 assert . equal (
@@ -71,6 +74,7 @@ describe('NetworkFormatter', () => {
7174 const formatter = await NetworkFormatter . from ( request , {
7275 requestId : 1 ,
7376 saveFile : async ( ) => ( { filename : '' } ) ,
77+ redactNetworkHeaders : false ,
7478 } ) ;
7579
7680 assert . equal (
@@ -86,6 +90,7 @@ describe('NetworkFormatter', () => {
8690 const formatter = await NetworkFormatter . from ( request , {
8791 requestId : 1 ,
8892 saveFile : async ( ) => ( { filename : '' } ) ,
93+ redactNetworkHeaders : false ,
8994 } ) ;
9095
9196 assert . equal (
@@ -104,6 +109,7 @@ describe('NetworkFormatter', () => {
104109 const formatter = await NetworkFormatter . from ( request , {
105110 requestId : 1 ,
106111 saveFile : async ( ) => ( { filename : '' } ) ,
112+ redactNetworkHeaders : false ,
107113 } ) ;
108114
109115 assert . equal (
@@ -118,6 +124,7 @@ describe('NetworkFormatter', () => {
118124 requestId : 1 ,
119125 selectedInDevToolsUI : true ,
120126 saveFile : async ( ) => ( { filename : '' } ) ,
127+ redactNetworkHeaders : false ,
121128 } ) ;
122129
123130 assert . equal (
@@ -138,6 +145,7 @@ describe('NetworkFormatter', () => {
138145 requestId : 200 ,
139146 fetchData : true ,
140147 saveFile : async ( ) => ( { filename : '' } ) ,
148+ redactNetworkHeaders : false ,
141149 } ) ;
142150 const result = formatter . toStringDetailed ( ) ;
143151 assert . match ( result , / t e s t / ) ;
@@ -154,6 +162,7 @@ describe('NetworkFormatter', () => {
154162 requestId : 200 ,
155163 fetchData : true ,
156164 saveFile : async ( ) => ( { filename : '' } ) ,
165+ redactNetworkHeaders : false ,
157166 } ) ;
158167 const result = formatter . toStringDetailed ( ) ;
159168
@@ -176,6 +185,7 @@ describe('NetworkFormatter', () => {
176185 requestId : 20 ,
177186 fetchData : true ,
178187 saveFile : async ( ) => ( { filename : '' } ) ,
188+ redactNetworkHeaders : false ,
179189 } ) ;
180190 const result = formatter . toStringDetailed ( ) ;
181191 assert . match ( result , / s o m e t e x t / ) ;
@@ -209,6 +219,7 @@ describe('NetworkFormatter', () => {
209219 await writeFile ( filename , data ) ;
210220 return { filename} ;
211221 } ,
222+ redactNetworkHeaders : false ,
212223 } ) ;
213224
214225 const json = formatter . toJSONDetailed ( ) as {
@@ -252,6 +263,7 @@ describe('NetworkFormatter', () => {
252263 await writeFile ( filename , data ) ;
253264 return { filename} ;
254265 } ,
266+ redactNetworkHeaders : false ,
255267 } ) ;
256268
257269 const reqContent = await readFile ( reqPath , 'utf8' ) ;
@@ -272,6 +284,7 @@ describe('NetworkFormatter', () => {
272284 requestId : 200 ,
273285 fetchData : true ,
274286 saveFile : async ( ) => ( { filename : '' } ) ,
287+ redactNetworkHeaders : false ,
275288 } ) ;
276289 const result = formatter . toStringDetailed ( ) ;
277290
@@ -289,6 +302,7 @@ describe('NetworkFormatter', () => {
289302 requestId : 1 ,
290303 requestIdResolver : ( ) => 2 ,
291304 saveFile : async ( ) => ( { filename : '' } ) ,
305+ redactNetworkHeaders : false ,
292306 } ) ;
293307 const result = formatter . toStringDetailed ( ) ;
294308 assert . match ( result , / R e d i r e c t c h a i n / ) ;
@@ -322,6 +336,7 @@ describe('NetworkFormatter', () => {
322336 await writeFile ( filename , data ) ;
323337 return { filename} ;
324338 } ,
339+ redactNetworkHeaders : false ,
325340 } ) ;
326341
327342 const result = formatter . toStringDetailed ( ) ;
@@ -361,6 +376,7 @@ describe('NetworkFormatter', () => {
361376 await writeFile ( filename , data ) ;
362377 return { filename} ;
363378 } ,
379+ redactNetworkHeaders : false ,
364380 } ) ;
365381
366382 const result = formatter . toStringDetailed ( ) ;
@@ -379,6 +395,7 @@ describe('NetworkFormatter', () => {
379395 requestId : 1 ,
380396 selectedInDevToolsUI : true ,
381397 saveFile : async ( ) => ( { filename : '' } ) ,
398+ redactNetworkHeaders : false ,
382399 } ) ;
383400 const result = formatter . toJSON ( ) ;
384401 assert . deepEqual ( result , {
@@ -404,6 +421,7 @@ describe('NetworkFormatter', () => {
404421 requestId : 1 ,
405422 fetchData : true ,
406423 saveFile : async ( ) => ( { filename : '' } ) ,
424+ redactNetworkHeaders : false ,
407425 } ) ;
408426 const result = formatter . toJSONDetailed ( ) ;
409427 assert . deepEqual ( result , {
@@ -425,6 +443,38 @@ describe('NetworkFormatter', () => {
425443 } ) ;
426444 } ) ;
427445
446+ it ( 'redacts headers' , async ( ) => {
447+ const response = getMockResponse ( {
448+ headers : {
449+ 'set-cookie' : 'secret=123' ,
450+ 'content-type' : 'text/plain' ,
451+ } ,
452+ } ) ;
453+ response . buffer = ( ) => Promise . resolve ( Buffer . from ( 'response' ) ) ;
454+ const request = getMockRequest ( {
455+ response,
456+ headers : {
457+ cookie : 'secret=123' ,
458+ 'user-agent' : 'test' ,
459+ } ,
460+ } ) ;
461+ const formatter = await NetworkFormatter . from ( request , {
462+ requestId : 1 ,
463+ fetchData : true ,
464+ saveFile : async ( ) => ( { filename : '' } ) ,
465+ redactNetworkHeaders : true ,
466+ } ) ;
467+ const result = formatter . toJSONDetailed ( ) ;
468+ assert . deepEqual ( result . requestHeaders , {
469+ cookie : '<redacted>' ,
470+ 'user-agent' : 'test' ,
471+ } ) ;
472+ assert . deepEqual ( result . responseHeaders , {
473+ 'set-cookie' : '<redacted>' ,
474+ 'content-type' : 'text/plain' ,
475+ } ) ;
476+ } ) ;
477+
428478 it ( 'returns file paths in structured detailed data' , async ( ) => {
429479 const request = {
430480 method : ( ) => 'POST' ,
@@ -453,6 +503,7 @@ describe('NetworkFormatter', () => {
453503 await writeFile ( filename , data ) ;
454504 return { filename} ;
455505 } ,
506+ redactNetworkHeaders : false ,
456507 } ) ;
457508
458509 const result = formatter . toJSONDetailed ( ) as {
0 commit comments