File tree Expand file tree Collapse file tree 2 files changed +12
-5
lines changed
packages/middleware-user-agent/src Expand file tree Collapse file tree 2 files changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -23,12 +23,12 @@ describe("userAgentMiddleware", () => {
23
23
const handler = middleware ( mockNextHandler , { userAgent : [ [ "cfg/retry-mode" , "standard" ] ] } ) ;
24
24
await handler ( { input : { } , request : new HttpRequest ( { headers : { } } ) } ) ;
25
25
expect ( mockNextHandler . mock . calls . length ) . toEqual ( 1 ) ;
26
- const sdkUserAgent = mockNextHandler . mock . calls [ 0 ] [ 0 ] . request . headers [ X_AMZ_USER_AGENT ] ;
26
+ const sdkUserAgent = mockNextHandler . mock . calls [ 0 ] [ 0 ] . request . headers [ USER_AGENT ] ;
27
27
expect ( sdkUserAgent ) . toEqual ( expect . stringContaining ( "aws-sdk-js/1.0.0" ) ) ;
28
28
expect ( sdkUserAgent ) . toEqual ( expect . stringContaining ( "default_agent/1.0.0" ) ) ;
29
29
expect ( sdkUserAgent ) . toEqual ( expect . stringContaining ( "custom_ua/abc" ) ) ;
30
30
expect ( sdkUserAgent ) . toEqual ( expect . stringContaining ( "cfg/retry-mode/standard" ) ) ;
31
- expect ( mockNextHandler . mock . calls [ 0 ] [ 0 ] . request . headers [ USER_AGENT ] ) . toEqual (
31
+ expect ( mockNextHandler . mock . calls [ 0 ] [ 0 ] . request . headers [ X_AMZ_USER_AGENT ] ) . toEqual (
32
32
expect . stringContaining ( "aws-sdk-js/1.0.0" )
33
33
) ;
34
34
} ) ;
Original file line number Diff line number Diff line change @@ -36,15 +36,22 @@ export const userAgentMiddleware = (options: UserAgentResolvedConfig) => <Output
36
36
const userAgent = context ?. userAgent ?. map ( escapeUserAgent ) || [ ] ;
37
37
const defaultUserAgent = ( await options . defaultUserAgentProvider ( ) ) . map ( escapeUserAgent ) ;
38
38
const customUserAgent = options ?. customUserAgent ?. map ( escapeUserAgent ) || [ ] ;
39
+
39
40
// Set value to AWS-specific user agent header
40
- headers [ X_AMZ_USER_AGENT ] = [ ...defaultUserAgent , ...userAgent , ...customUserAgent ] . join ( SPACE ) ;
41
+ const sdkUserAgentValue = [ ...defaultUserAgent , ...userAgent , ...customUserAgent ] . join ( SPACE ) ;
41
42
// Get value to be sent with non-AWS-specific user agent header.
42
43
const normalUAValue = [
43
44
...defaultUserAgent . filter ( ( section ) => section . startsWith ( "aws-sdk-" ) ) ,
44
45
...customUserAgent ,
45
46
] . join ( SPACE ) ;
46
- if ( options . runtime !== "browser" && normalUAValue ) {
47
- headers [ USER_AGENT ] = headers [ USER_AGENT ] ? `${ headers [ USER_AGENT ] } ${ normalUAValue } ` : normalUAValue ;
47
+
48
+ if ( options . runtime !== "browser" ) {
49
+ if ( normalUAValue ) {
50
+ headers [ X_AMZ_USER_AGENT ] = headers [ X_AMZ_USER_AGENT ] ? `${ headers [ USER_AGENT ] } ${ normalUAValue } ` : normalUAValue ;
51
+ }
52
+ headers [ USER_AGENT ] = sdkUserAgentValue ;
53
+ } else {
54
+ headers [ X_AMZ_USER_AGENT ] = sdkUserAgentValue ;
48
55
}
49
56
50
57
return next ( {
You can’t perform that action at this time.
0 commit comments