go-ethereum/swarm/sctx/sctx.go

38 lines
826 B
Go
Raw Normal View History

package sctx
import "context"
type (
HTTPRequestIDKey struct{}
requestHostKey struct{}
tagKey struct{}
)
// SetHost sets the http request host in the context
func SetHost(ctx context.Context, domain string) context.Context {
return context.WithValue(ctx, requestHostKey{}, domain)
}
// GetHost gets the request host from the context
func GetHost(ctx context.Context) string {
v, ok := ctx.Value(requestHostKey{}).(string)
if ok {
return v
}
return ""
}
// SetTag sets the tag unique identifier in the context
func SetTag(ctx context.Context, tagId uint32) context.Context {
return context.WithValue(ctx, tagKey{}, tagId)
}
// GetTag gets the tag unique identifier from the context
func GetTag(ctx context.Context) uint32 {
v, ok := ctx.Value(tagKey{}).(uint32)
if ok {
return v
}
return 0
}