request_id.go 744 B

123456789101112131415161718192021222324252627
  1. package middleware
  2. import (
  3. "github.com/aws/smithy-go/middleware"
  4. )
  5. // requestIDKey is used to retrieve request id from response metadata
  6. type requestIDKey struct{}
  7. // SetRequestIDMetadata sets the provided request id over middleware metadata
  8. func SetRequestIDMetadata(metadata *middleware.Metadata, id string) {
  9. metadata.Set(requestIDKey{}, id)
  10. }
  11. // GetRequestIDMetadata retrieves the request id from middleware metadata
  12. // returns string and bool indicating value of request id, whether request id was set.
  13. func GetRequestIDMetadata(metadata middleware.Metadata) (string, bool) {
  14. if !metadata.Has(requestIDKey{}) {
  15. return "", false
  16. }
  17. v, ok := metadata.Get(requestIDKey{}).(string)
  18. if !ok {
  19. return "", true
  20. }
  21. return v, true
  22. }