From 2bb8fb14da20d6fb32b7224c7c3a4faa4460012b Mon Sep 17 00:00:00 2001 From: Isaiah Vita <82135527+isaiahvita@users.noreply.github.com> Date: Tue, 29 Aug 2023 13:38:03 -0700 Subject: [PATCH] add user agent internal metadata (#4967) --- CHANGELOG_PENDING.md | 2 ++ aws/corehandlers/awsinternal.go | 4 ++++ aws/corehandlers/user_agent.go | 10 ++++++++++ aws/defaults/defaults.go | 1 + 4 files changed, 17 insertions(+) create mode 100644 aws/corehandlers/awsinternal.go diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index 8a1927a39ca..73d430b318c 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,4 +1,6 @@ ### SDK Features +* `aws/corehandlers`: Add internal flag in user agent functionality + * Added handler which will add aws internal metadata to the user agent string ### SDK Enhancements diff --git a/aws/corehandlers/awsinternal.go b/aws/corehandlers/awsinternal.go new file mode 100644 index 00000000000..140242dd1b8 --- /dev/null +++ b/aws/corehandlers/awsinternal.go @@ -0,0 +1,4 @@ +// DO NOT EDIT +package corehandlers + +const isAwsInternal = "" \ No newline at end of file diff --git a/aws/corehandlers/user_agent.go b/aws/corehandlers/user_agent.go index ab69c7a6f38..ac842c55d89 100644 --- a/aws/corehandlers/user_agent.go +++ b/aws/corehandlers/user_agent.go @@ -35,3 +35,13 @@ var AddHostExecEnvUserAgentHander = request.NamedHandler{ request.AddToUserAgent(r, execEnvUAKey+"/"+v) }, } + +var AddAwsInternal = request.NamedHandler{ + Name: "core.AddAwsInternal", + Fn: func(r *request.Request) { + if len(isAwsInternal) == 0 { + return + } + request.AddToUserAgent(r, isAwsInternal) + }, +} diff --git a/aws/defaults/defaults.go b/aws/defaults/defaults.go index 23bb639e018..e39903284dd 100644 --- a/aws/defaults/defaults.go +++ b/aws/defaults/defaults.go @@ -74,6 +74,7 @@ func Handlers() request.Handlers { handlers.Validate.PushBackNamed(corehandlers.ValidateEndpointHandler) handlers.Validate.AfterEachFn = request.HandlerListStopOnError handlers.Build.PushBackNamed(corehandlers.SDKVersionUserAgentHandler) + handlers.Build.PushBackNamed(corehandlers.AddAwsInternal) handlers.Build.PushBackNamed(corehandlers.AddHostExecEnvUserAgentHander) handlers.Build.AfterEachFn = request.HandlerListStopOnError handlers.Sign.PushBackNamed(corehandlers.BuildContentLengthHandler)