@@ -43,8 +43,34 @@ export function constructRequest(
43
43
method : string ,
44
44
forwardHeaders : string [ ] ,
45
45
requestHeaders : Record < string , string > ,
46
- fn : endpointStrings
46
+ fn : endpointStrings ,
47
+ c : Context
47
48
) {
49
+ let proxyHeaders : Record < string , string > = { } ;
50
+ // Handle proxy headers
51
+ if ( fn === 'proxy' ) {
52
+ const poweredByHeadersPattern = `x-${ POWERED_BY } -` ;
53
+ const headersToAvoidForCloudflare = [ 'expect' ] ;
54
+ const headersToIgnore = [
55
+ ...( env ( c ) . CUSTOM_HEADERS_TO_IGNORE ?? [ ] ) ,
56
+ ...headersToAvoidForCloudflare ,
57
+ ] ;
58
+ headersToIgnore . push ( 'content-length' ) ;
59
+ Object . keys ( requestHeaders ) . forEach ( ( key : string ) => {
60
+ if (
61
+ ! headersToIgnore . includes ( key ) &&
62
+ ! key . startsWith ( poweredByHeadersPattern )
63
+ ) {
64
+ proxyHeaders [ key ] = requestHeaders [ key ] ;
65
+ }
66
+ } ) ;
67
+ // Remove brotli from accept-encoding because cloudflare has problems with it
68
+ if ( proxyHeaders [ 'accept-encoding' ] ?. includes ( 'br' ) )
69
+ proxyHeaders [ 'accept-encoding' ] = proxyHeaders [
70
+ 'accept-encoding'
71
+ ] ?. replace ( 'br' , '' ) ;
72
+ }
73
+
48
74
let baseHeaders : any = {
49
75
'content-type' : 'application/json' ,
50
76
} ;
@@ -69,7 +95,7 @@ export function constructRequest(
69
95
...baseHeaders ,
70
96
...headers ,
71
97
...forwardHeadersMap ,
72
- ...( fn === 'proxy' ? requestHeaders : { } ) ,
98
+ ...( fn === 'proxy' && proxyHeaders ) ,
73
99
} ;
74
100
75
101
let fetchOptions : RequestInit = {
@@ -269,7 +295,8 @@ export async function tryPost(
269
295
method ,
270
296
forwardHeaders ,
271
297
requestHeaders ,
272
- fn
298
+ fn ,
299
+ c
273
300
) ;
274
301
275
302
const headerContentType = headers [ HEADER_KEYS . CONTENT_TYPE ] ;
@@ -759,6 +786,8 @@ export function constructConfigFromRequestHeaders(
759
786
requestHeaders [ `x-${ POWERED_BY } -amzn-sagemaker-inference-component` ] ,
760
787
amznSagemakerSessionId :
761
788
requestHeaders [ `x-${ POWERED_BY } -amzn-sagemaker-session-id` ] ,
789
+ amznSagemakerModelName :
790
+ requestHeaders [ `x-${ POWERED_BY } -amzn-sagemaker-model-name` ] ,
762
791
} ;
763
792
764
793
const workersAiConfig = {
0 commit comments