File tree 2 files changed +19
-7
lines changed
packages/util-user-agent-browser/src
2 files changed +19
-7
lines changed Original file line number Diff line number Diff line change @@ -2,15 +2,19 @@ import { Provider, UserAgent } from "@smithy/types";
2
2
3
3
import { DefaultUserAgentOptions } from "./configurations" ;
4
4
5
+ export interface PreviouslyResolved {
6
+ userAgentAppId : Provider < string | undefined > ;
7
+ }
8
+
5
9
/**
6
10
* @internal
7
11
*
8
12
* Default provider to the user agent in ReactNative. It's a best effort to infer
9
13
* the device information. It uses bowser library to detect the browser and virsion
10
14
*/
11
- export const defaultUserAgent =
12
- ( { serviceId, clientVersion } : DefaultUserAgentOptions ) : Provider < UserAgent > =>
13
- async ( ) => {
15
+ export const createDefaultUserAgentProvider =
16
+ ( { serviceId, clientVersion } : DefaultUserAgentOptions ) : ( ( config ?: PreviouslyResolved ) => Promise < UserAgent > ) =>
17
+ async ( config ?: PreviouslyResolved ) => {
14
18
const sections : UserAgent = [
15
19
// sdk-metadata
16
20
[ "aws-sdk-js" , clientVersion ] ,
@@ -30,5 +34,16 @@ export const defaultUserAgent =
30
34
sections . push ( [ `api/${ serviceId } ` , clientVersion ] ) ;
31
35
}
32
36
37
+ const appId = await config ?. userAgentAppId ?.( ) ;
38
+ if ( appId ) {
39
+ sections . push ( [ `app/${ appId } ` ] ) ;
40
+ }
41
+
33
42
return sections ;
34
43
} ;
44
+
45
+ /**
46
+ * @internal
47
+ * @deprecated use createDefaultUserAgentProvider
48
+ */
49
+ export const defaultUserAgent = createDefaultUserAgentProvider ;
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ export interface PreviouslyResolved {
14
14
* the device information. It uses bowser library to detect the browser and version
15
15
*/
16
16
export const createDefaultUserAgentProvider =
17
- ( { serviceId, clientVersion } : DefaultUserAgentOptions ) : ( ( config : PreviouslyResolved ) => Promise < UserAgent > ) =>
17
+ ( { serviceId, clientVersion } : DefaultUserAgentOptions ) : ( ( config ? : PreviouslyResolved ) => Promise < UserAgent > ) =>
18
18
async ( config ?: PreviouslyResolved ) => {
19
19
const parsedUA =
20
20
typeof window !== "undefined" && window ?. navigator ?. userAgent
@@ -49,10 +49,7 @@ export const createDefaultUserAgentProvider =
49
49
} ;
50
50
51
51
/**
52
- *
53
52
* @internal
54
- *
55
53
* @deprecated use createDefaultUserAgentProvider
56
- *
57
54
*/
58
55
export const defaultUserAgent = createDefaultUserAgentProvider ;
You can’t perform that action at this time.
0 commit comments