hotfix #186
@@ -45,6 +45,7 @@ type Options struct {
 | 
				
			|||||||
	Meter        meter.Meter
 | 
						Meter        meter.Meter
 | 
				
			||||||
	Name         string
 | 
						Name         string
 | 
				
			||||||
	MeterOptions []options.Option
 | 
						MeterOptions []options.Option
 | 
				
			||||||
 | 
						Gzip         bool
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func Meter(m meter.Meter) Option {
 | 
					func Meter(m meter.Meter) Option {
 | 
				
			||||||
@@ -59,6 +60,12 @@ func Name(name string) Option {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func Gzip(g bool) Option {
 | 
				
			||||||
 | 
						return func(o *Options) {
 | 
				
			||||||
 | 
							o.Gzip = g
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func MeterOptions(opts ...options.Option) Option {
 | 
					func MeterOptions(opts ...options.Option) Option {
 | 
				
			||||||
	return func(o *Options) {
 | 
						return func(o *Options) {
 | 
				
			||||||
		o.MeterOptions = append(o.MeterOptions, opts...)
 | 
							o.MeterOptions = append(o.MeterOptions, opts...)
 | 
				
			||||||
@@ -66,7 +73,7 @@ func MeterOptions(opts ...options.Option) Option {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func NewOptions(opts ...Option) Options {
 | 
					func NewOptions(opts ...Option) Options {
 | 
				
			||||||
	options := Options{Meter: meter.DefaultMeter}
 | 
						options := Options{Meter: meter.DefaultMeter, Gzip: true}
 | 
				
			||||||
	for _, o := range opts {
 | 
						for _, o := range opts {
 | 
				
			||||||
		o(&options)
 | 
							o(&options)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -90,8 +97,9 @@ func (h *Handler) Metrics(ctx context.Context, req *codecpb.Frame, rsp *codecpb.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	w := io.Writer(buf)
 | 
						w := io.Writer(buf)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if md, ok := metadata.FromOutgoingContext(ctx); gzipAccepted(md) && ok {
 | 
						if md, ok := metadata.FromIncomingContext(ctx); gzipAccepted(md) && ok && h.opts.Gzip {
 | 
				
			||||||
		md.Set(contentEncodingHeader, "gzip")
 | 
							omd, _ := metadata.FromOutgoingContext(ctx)
 | 
				
			||||||
 | 
							omd.Set(contentEncodingHeader, "gzip")
 | 
				
			||||||
		gz := gzipPool.Get().(*gzip.Writer)
 | 
							gz := gzipPool.Get().(*gzip.Writer)
 | 
				
			||||||
		defer gzipPool.Put(gz)
 | 
							defer gzipPool.Put(gz)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user