From c546a6b711d95353a08b4379cfb8b4ea9f3dc878 Mon Sep 17 00:00:00 2001 From: ginuerzh Date: Thu, 8 Sep 2022 21:29:25 +0800 Subject: [PATCH] add proxy protocol --- dialer/option.go | 13 ++++++++++--- listener/option.go | 25 ++++++++++++++++--------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/dialer/option.go b/dialer/option.go index 516c441..cd49177 100644 --- a/dialer/option.go +++ b/dialer/option.go @@ -9,9 +9,10 @@ import ( ) type Options struct { - Auth *url.Userinfo - TLSConfig *tls.Config - Logger logger.Logger + Auth *url.Userinfo + TLSConfig *tls.Config + Logger logger.Logger + ProxyProtocol int } type Option func(opts *Options) @@ -34,6 +35,12 @@ func LoggerOption(logger logger.Logger) Option { } } +func ProxyProtocolOption(ppv int) Option { + return func(opts *Options) { + opts.ProxyProtocol = ppv + } +} + type DialOptions struct { Host string NetDialer *dialer.NetDialer diff --git a/listener/option.go b/listener/option.go index 9424061..1ae15f9 100644 --- a/listener/option.go +++ b/listener/option.go @@ -12,15 +12,16 @@ import ( ) type Options struct { - Addr string - Auther auth.Authenticator - Auth *url.Userinfo - TLSConfig *tls.Config - Admission admission.Admission - RateLimiter limiter.RateLimiter - Chain chain.Chainer - Logger logger.Logger - Service string + Addr string + Auther auth.Authenticator + Auth *url.Userinfo + TLSConfig *tls.Config + Admission admission.Admission + RateLimiter limiter.RateLimiter + Chain chain.Chainer + Logger logger.Logger + Service string + ProxyProtocol int } type Option func(opts *Options) @@ -78,3 +79,9 @@ func ServiceOption(service string) Option { opts.Service = service } } + +func ProxyProtocolOption(ppv int) Option { + return func(opts *Options) { + opts.ProxyProtocol = ppv + } +}