code: func WithRequest(ctx context.Context, r *http.Request) context.Context {
  	if ctx.Value("http.request") != nil {
  		// NOTE(stevvooe): This needs to be considered a programming error. It
  		// is unlikely that we'd want to have more than one request in
  		// context.
  		panic("only one request per context")
  	}
  
  	return &httpRequestContext{
  		Context:   ctx,
  		startedAt: time.Now(),
  		id:        uuid.Generate().String(),
  		r:         r,
  	}
  }
docs: // WithRequest places the request on the context. The context of the request
  // is assigned a unique id, available at "http.request.id". The request itself
  // is available at "http.request". Other common attributes are available under
  // the prefix "http.request.". If a request is already present on the context,
  // this method will panic.