request_id.go 485 B

1234567891011121314151617181920212223242526
  1. package request_id
  2. import (
  3. "context"
  4. "net/http"
  5. )
  6. const AmzRequestIDHeader = "x-amz-request-id"
  7. func Set(ctx context.Context, id string) context.Context {
  8. return context.WithValue(ctx, AmzRequestIDHeader, id)
  9. }
  10. func Get(ctx context.Context) string {
  11. if ctx == nil {
  12. return ""
  13. }
  14. id, _ := ctx.Value(AmzRequestIDHeader).(string)
  15. return id
  16. }
  17. func InjectToRequest(ctx context.Context, req *http.Request) {
  18. if req != nil {
  19. req.Header.Set(AmzRequestIDHeader, Get(ctx))
  20. }
  21. }