11package proxy
22
33import (
4- "context"
54 "mime"
6- "net"
75 "net/url"
86 "os"
97 "os/signal"
@@ -29,9 +27,8 @@ import (
2927)
3028
3129const (
32- initialPoolCapacity = 100
33- livenessEndpoint = "/v1/liveness"
34- readinessEndpoint = "/v1/readiness"
30+ livenessEndpoint = "/v1/liveness"
31+ readinessEndpoint = "/v1/readiness"
3532)
3633
3734func Run (logger zerolog.Logger ) error {
@@ -145,63 +142,20 @@ func Run(logger zerolog.Logger) error {
145142 }
146143 }
147144
148- initialCap := initialPoolCapacity
149-
150- if cfg .Server .ClientPoolCapacity < initialPoolCapacity {
151- initialCap = 1
152- }
153-
154- // default DNS resolver
155- resolver := & net.Resolver {
156- PreferGo : true ,
157- StrictErrors : false ,
158- }
159-
160- // configuration of the custom DNS server
161- if cfg .DNS .Nameserver .Host != "" {
162- var builder strings.Builder
163- builder .WriteString (cfg .DNS .Nameserver .Host )
164- builder .WriteString (":" )
165- builder .WriteString (cfg .DNS .Nameserver .Port )
166-
167- resolver .Dial = func (ctx context.Context , network , address string ) (net.Conn , error ) {
168- d := net.Dialer {
169- Timeout : cfg .DNS .LookupTimeout ,
170- }
171- return d .DialContext (ctx , cfg .DNS .Nameserver .Proto , builder .String ())
172- }
173- }
174-
175- // init DNS resolver
176- dnsCacheOptions := proxy.DNSCacheOptions {
177- UseCache : cfg .DNS .Cache ,
178- Logger : logger ,
179- FetchTimeout : cfg .DNS .FetchTimeout ,
180- LookupTimeout : cfg .DNS .LookupTimeout ,
181- }
182-
183- dnsResolver , err := proxy .NewDNSResolver (resolver , & dnsCacheOptions )
184- if err != nil {
185- return errors .Wrap (err , "DNS cache resolver init" )
186- }
187-
188- options := proxy.Options {
189- InitialPoolCapacity : initialCap ,
190- ClientPoolCapacity : cfg .Server .ClientPoolCapacity ,
191- InsecureConnection : cfg .Server .InsecureConnection ,
192- RootCA : cfg .Server .RootCA ,
145+ pool , err := proxy .NewPoolV2 (host , & proxy.PoolV2Options {
193146 MaxConnsPerHost : cfg .Server .MaxConnsPerHost ,
147+ MaxIdleConnDuration : cfg .Server .MaxIdleConnDuration ,
194148 ReadTimeout : cfg .Server .ReadTimeout ,
195149 WriteTimeout : cfg .Server .WriteTimeout ,
150+ DialTimeout : cfg .Server .DialTimeout ,
196151 ReadBufferSize : cfg .Server .ReadBufferSize ,
197152 WriteBufferSize : cfg .Server .WriteBufferSize ,
198153 MaxResponseBodySize : cfg .Server .MaxResponseBodySize ,
199- DialTimeout : cfg .Server .DialTimeout ,
200- DNSConfig : cfg .DNS ,
154+ InsecureConnection : cfg .Server .InsecureConnection ,
155+ RootCA : cfg .Server .RootCA ,
156+ HealthCheckInterval : cfg .Server .HealthCheckInterval ,
201157 Logger : logger ,
202- DNSResolver : dnsResolver ,
203- }
204- pool , err := proxy .NewChanPool (host , & options )
158+ })
205159 if err != nil {
206160 return errors .Wrap (err , "proxy pool init" )
207161 }
0 commit comments