v2ray-core/app/proxyman/proxyman.go

24 lines
493 B
Go
Raw Normal View History

2018-03-19 16:40:47 +08:00
// Package proxyman defines applications for managing inbound and outbound proxies.
2016-01-31 17:01:28 +01:00
package proxyman
import (
2017-01-15 00:48:37 +01:00
"context"
2016-01-31 17:01:28 +01:00
)
type key int
const (
protocolsKey key = iota
)
func ContextWithProtocolSniffers(ctx context.Context, list []KnownProtocols) context.Context {
return context.WithValue(ctx, protocolsKey, list)
}
2018-03-15 10:32:10 +08:00
func ProtocolSniffersFromContext(ctx context.Context) []KnownProtocols {
if list, ok := ctx.Value(protocolsKey).([]KnownProtocols); ok {
return list
}
return nil
}