package customizations
import (
smithyhttp
)
type AddExpiresOnPresignedURL struct {
Expires time.Duration
}
func (*AddExpiresOnPresignedURL) () string {
return "S3:AddExpiresOnPresignedURL"
}
func ( *AddExpiresOnPresignedURL) ( context.Context, middleware.BuildInput, middleware.BuildHandler) (
middleware.BuildOutput, middleware.Metadata, error,
) {
if .Expires == 0 {
.Expires = 15 * time.Minute
}
, := .Request.(*smithyhttp.Request)
if ! {
return , , fmt.Errorf("unknown transport type %T", )
}
:= .URL.Query()
.Set("X-Amz-Expires", strconv.FormatInt(int64(.Expires/time.Second), 10))
.URL.RawQuery = .Encode()
return .HandleBuild(, )
}