proxyman.go 462 B

1234567891011121314151617181920212223
  1. // Package proxyman defines applications for managing inbound and outbound proxies.
  2. package proxyman
  3. import (
  4. "context"
  5. )
  6. type key int
  7. const (
  8. sniffing key = iota
  9. )
  10. func ContextWithSniffingConfig(ctx context.Context, c *SniffingConfig) context.Context {
  11. return context.WithValue(ctx, sniffing, c)
  12. }
  13. func SniffingConfigFromContext(ctx context.Context) *SniffingConfig {
  14. if c, ok := ctx.Value(sniffing).(*SniffingConfig); ok {
  15. return c
  16. }
  17. return nil
  18. }