mirror of
https://github.com/gomods/athens
synced 2026-02-03 12:10:32 +00:00
* feat: add golangci-lint linting * chore: fix linter issues * feat: add linting into the workflow * docs: update lint docs * fix: cr suggestions * fix: remove old formatting and vetting scripts * fix: add docker make target * fix: action go caching * fix: depreciated actions checkout version * fix: cr suggestion * fix: cr suggestions --------- Co-authored-by: Manu Gupta <manugupt1@gmail.com>
22 lines
555 B
Go
22 lines
555 B
Go
package requestid
|
|
|
|
import "context"
|
|
|
|
// HeaderKey is the header key that athens uses
|
|
// to pass request ids into logs and outbound requests.
|
|
const HeaderKey = "Athens-Request-ID"
|
|
|
|
type key struct{}
|
|
|
|
// SetInContext sets the given requestID into the context.
|
|
func SetInContext(ctx context.Context, id string) context.Context {
|
|
return context.WithValue(ctx, key{}, id)
|
|
}
|
|
|
|
// FromContext returns a requestID from the context or an empty
|
|
// string if not found.
|
|
func FromContext(ctx context.Context) string {
|
|
id, _ := ctx.Value(key{}).(string)
|
|
return id
|
|
}
|