@@ -3,7 +3,11 @@ import Image, { ImageLoaderProps, ImageProps } from 'next/image';
33
44import { ParsedUrlQuery } from 'node:querystring' ;
55import { request as httpsRequest } from 'https' ;
6- import { ServerResponse , request as httpRequest } from 'http' ;
6+ import {
7+ ServerResponse ,
8+ request as httpRequest ,
9+ IncomingHttpHeaders ,
10+ } from 'http' ;
711
812import pb from '@bitpatty/imgproxy-url-builder' ;
913
@@ -17,6 +21,7 @@ type HandlerOptions = {
1721 authToken ?: string ;
1822 bucketWhitelist ?: string [ ] ;
1923 forwardedHeaders ?: string [ ] ;
24+ requestHeaders ?: IncomingHttpHeaders ;
2025 logging ?: LoggerOptions ;
2126} ;
2227
@@ -80,8 +85,13 @@ const handle = (
8085 const { src, params } = query ;
8186 Logger . debug ( options ?. logging , 'Processing query' , { src, params } ) ;
8287
83- const { authToken, bucketWhitelist, forwardedHeaders, signature } =
84- options ?? { } ;
88+ const {
89+ authToken,
90+ bucketWhitelist,
91+ requestHeaders,
92+ forwardedHeaders,
93+ signature,
94+ } = options ?? { } ;
8595
8696 // If the source is not set of fails the regex check throw a 400
8797 if ( ! src || Array . isArray ( src ) || ! SRC_REGEX . test ( src ) ) {
@@ -123,7 +133,9 @@ const handle = (
123133 path : requestPath ,
124134 method : 'GET' ,
125135 headers : {
126- ...( authToken ? { Authorization : `Bearer ${ authToken } ` } : { } ) ,
136+ ...( authToken
137+ ? { Authorization : `Bearer ${ authToken } ` , ...requestHeaders }
138+ : requestHeaders ) ,
127139 } ,
128140 } ,
129141 ( r ) => {
0 commit comments