package proxy type Options struct { Middlewares []Middleware ProxyRequestMiddlewares []ProxyRequestMiddleware ProxyResponseMiddlewares []ProxyResponseMiddleware } func defaultOptions() *Options { return &Options{ Middlewares: make([]Middleware, 0), ProxyRequestMiddlewares: make([]ProxyRequestMiddleware, 0), ProxyResponseMiddlewares: make([]ProxyResponseMiddleware, 0), } } type OptionFunc func(*Options) func WithProxyRequestMiddlewares(middlewares ...ProxyRequestMiddleware) OptionFunc { return func(o *Options) { o.ProxyRequestMiddlewares = middlewares } } func WithproxyResponseMiddlewares(middlewares ...ProxyResponseMiddleware) OptionFunc { return func(o *Options) { o.ProxyResponseMiddlewares = middlewares } }