@@ -19,6 +19,9 @@ export async function prepareSnapshot(snapshot: Snapshot, ctx: Context): Promise
1919 if ( ctx . config . basicAuthorization ) {
2020 processedOptions . basicAuthorization = ctx . config . basicAuthorization ;
2121 }
22+ if ( ctx . config . requestHeaders && Array . isArray ( ctx . config . requestHeaders ) ) {
23+ processedOptions . requestHeaders = ctx . config . requestHeaders
24+ }
2225 ctx . config . allowedHostnames . push ( new URL ( snapshot . url ) . hostname ) ;
2326 processedOptions . allowedHostnames = ctx . config . allowedHostnames ;
2427 processedOptions . skipCapturedCookies = ctx . env . SMARTUI_DO_NOT_USE_CAPTURED_COOKIES ;
@@ -181,6 +184,9 @@ export default async function processSnapshot(snapshot: Snapshot, ctx: Context):
181184 } ;
182185
183186 let processedOptions : Record < string , any > = { } ;
187+ if ( ctx . config . requestHeaders && Array . isArray ( ctx . config . requestHeaders ) ) {
188+ processedOptions . requestHeaders = ctx . config . requestHeaders
189+ }
184190
185191 let globalViewport = ""
186192 let globalBrowser = constants . CHROME
@@ -266,6 +272,13 @@ export default async function processSnapshot(snapshot: Snapshot, ctx: Context):
266272 let token = Buffer . from ( `${ ctx . config . basicAuthorization . username } :${ ctx . config . basicAuthorization . password } ` ) . toString ( 'base64' ) ;
267273 requestOptions . headers . Authorization = `Basic ${ token } ` ;
268274 }
275+ if ( ctx . config . requestHeaders && Array . isArray ( ctx . config . requestHeaders ) ) {
276+ ctx . config . requestHeaders . forEach ( ( headerObj ) => {
277+ Object . entries ( headerObj ) . forEach ( ( [ key , value ] ) => {
278+ requestOptions . headers [ key ] = value ;
279+ } ) ;
280+ } ) ;
281+ }
269282
270283 // get response
271284 let response , body ;
0 commit comments