feat(backend/assets): added proxy support for cacher module

This commit is contained in:
Alexander Zavorotynskiy 2022-06-30 16:06:33 +02:00
parent f22440d14a
commit 44a6e04d13
2 changed files with 7 additions and 11 deletions

View file

@ -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 {

View file

@ -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,
}
}