From 44a6e04d135bebae584e97f98f3089ad74bed522 Mon Sep 17 00:00:00 2001 From: Alexander Zavorotynskiy Date: Thu, 30 Jun 2022 16:06:33 +0200 Subject: [PATCH] feat(backend/assets): added proxy support for cacher module --- backend/cmd/assets/main.go | 8 +------- backend/internal/assets/cacher/cacher.go | 10 ++++++---- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/backend/cmd/assets/main.go b/backend/cmd/assets/main.go index 5627d0be8..86eb4865f 100644 --- a/backend/cmd/assets/main.go +++ b/backend/cmd/assets/main.go @@ -24,13 +24,7 @@ func main() { cfg := config.New() - cacher := cacher.NewCacher( - cfg.AWSRegion, - cfg.S3BucketAssets, - cfg.AssetsOrigin, - cfg.AssetsSizeLimit, - metrics, - ) + cacher := cacher.NewCacher(cfg, metrics) totalAssets, err := metrics.RegisterCounter("assets_total") if err != nil { diff --git a/backend/internal/assets/cacher/cacher.go b/backend/internal/assets/cacher/cacher.go index fe8cc7ef8..4d2470578 100644 --- a/backend/internal/assets/cacher/cacher.go +++ b/backend/internal/assets/cacher/cacher.go @@ -17,6 +17,7 @@ import ( "github.com/pkg/errors" + config "openreplay/backend/internal/config/assets" "openreplay/backend/pkg/storage" "openreplay/backend/pkg/url/assets" ) @@ -33,8 +34,8 @@ type cacher struct { downloadedAssets syncfloat64.Counter } -func NewCacher(region string, bucket string, origin string, sizeLimit int, metrics *monitoring.Metrics) *cacher { - rewriter := assets.NewRewriter(origin) +func NewCacher(cfg *config.Config, metrics *monitoring.Metrics) *cacher { + rewriter := assets.NewRewriter(cfg.AssetsOrigin) if metrics == nil { log.Fatalf("metrics are empty") } @@ -44,16 +45,17 @@ func NewCacher(region string, bucket string, origin string, sizeLimit int, metri } return &cacher{ timeoutMap: newTimeoutMap(), - s3: storage.NewS3(region, bucket), + s3: storage.NewS3(cfg.AWSRegion, cfg.S3BucketAssets), httpClient: &http.Client{ Timeout: time.Duration(6) * time.Second, Transport: &http.Transport{ + Proxy: http.ProxyFromEnvironment, TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, }, }, rewriter: rewriter, Errors: make(chan error), - sizeLimit: sizeLimit, + sizeLimit: cfg.AssetsSizeLimit, downloadedAssets: downloadedAssets, } }