From 80978cf492160b50dfa4a5553dcd2d002127d920 Mon Sep 17 00:00:00 2001 From: zensh Date: Thu, 2 Apr 2020 18:51:20 +0800 Subject: [PATCH] fix Canary middleware --- pkg/middlewares/canary/canary.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/pkg/middlewares/canary/canary.go b/pkg/middlewares/canary/canary.go index 4363795bed..4671504caf 100644 --- a/pkg/middlewares/canary/canary.go +++ b/pkg/middlewares/canary/canary.go @@ -67,9 +67,19 @@ func New(ctx context.Context, next http.Handler, cfg dynamic.Canary, name string cfg.MaxCacheSize = defaultCacheSize } - ls := NewLabelStore(logger, cfg, expiration, cacheCleanDuration) - return &Canary{name: name, product: cfg.Product, uidCookies: cfg.UIDCookies, loadLabels: cfg.Server != "", - addRequestID: cfg.AddRequestID, canaryResponseHeader: cfg.CanaryResponseHeader, ls: ls, next: next}, nil + c := &Canary{ + name: name, + next: next, + product: cfg.Product, + uidCookies: cfg.UIDCookies, + loadLabels: cfg.Server != "", + addRequestID: cfg.AddRequestID, + canaryResponseHeader: cfg.CanaryResponseHeader, + } + if c.loadLabels { + c.ls = NewLabelStore(logger, cfg, expiration, cacheCleanDuration) + } + return c, nil } // GetTracingInformation implements Tracable interface