package middleware import "context" type ( serviceIDKey struct{} operationNameKey struct{} ) // WithServiceID adds a service ID to the context, scoped to middleware stack // values. // // This API is called in the client runtime when bootstrapping an operation and // should not typically be used directly. func WithServiceID(parent context.Context, id string) context.Context { return WithStackValue(parent, serviceIDKey{}, id) } // GetServiceID retrieves the service ID from the context. This is typically // the service shape's name from its Smithy model. Service clients for specific // systems (e.g. AWS SDK) may use an alternate designated value. func GetServiceID(ctx context.Context) string { id, _ := GetStackValue(ctx, serviceIDKey{}).(string) return id } // WithOperationName adds the operation name to the context, scoped to // middleware stack values. // // This API is called in the client runtime when bootstrapping an operation and // should not typically be used directly. func WithOperationName(parent context.Context, id string) context.Context { return WithStackValue(parent, operationNameKey{}, id) } // GetOperationName retrieves the operation name from the context. This is // typically the operation shape's name from its Smithy model. func GetOperationName(ctx context.Context) string { name, _ := GetStackValue(ctx, operationNameKey{}).(string) return name }