diff --git a/cmd/s3-gw/app.go b/cmd/s3-gw/app.go index 0b818e0..ffdd95d 100644 --- a/cmd/s3-gw/app.go +++ b/cmd/s3-gw/app.go @@ -221,38 +221,36 @@ func newAppSettings(log *Logger, v *viper.Viper) *appSettings { } func (s *appSettings) update(v *viper.Viper, log *zap.Logger) { - s.updateNamespacesSettings(v, log) - s.useDefaultXMLNamespace(v.GetBool(cfgKludgeUseDefaultXMLNS)) - s.setBypassContentEncodingInChunks(v.GetBool(cfgKludgeBypassContentEncodingCheckInChunks)) - s.setClientCut(v.GetBool(cfgClientCut)) - s.setBufferMaxSizeForPut(v.GetUint64(cfgBufferMaxSizeForPut)) - s.setMD5Enabled(v.GetBool(cfgMD5Enabled)) - s.setPolicyDenyByDefault(v.GetBool(cfgPolicyDenyByDefault)) - s.setSourceIPHeader(v.GetString(cfgSourceIPHeader)) - s.setRetryMaxAttempts(fetchRetryMaxAttempts(v)) - s.setRetryMaxBackoff(fetchRetryMaxBackoff(v)) - s.setRetryStrategy(fetchRetryStrategy(v)) - s.setVHSSettings(v, log) -} - -func (s *appSettings) updateNamespacesSettings(v *viper.Viper, log *zap.Logger) { - nsHeader := v.GetString(cfgResolveNamespaceHeader) + namespaceHeader := v.GetString(cfgResolveNamespaceHeader) nsConfig, defaultNamespaces := fetchNamespacesConfig(log, v) - - s.mu.Lock() - defer s.mu.Unlock() - - s.namespaceHeader = nsHeader - s.defaultNamespaces = defaultNamespaces - s.namespaces = nsConfig.Namespaces -} - -func (s *appSettings) setVHSSettings(v *viper.Viper, _ *zap.Logger) { + defaultXMLNS := v.GetBool(cfgKludgeUseDefaultXMLNS) + bypassContentEncodingInChunks := v.GetBool(cfgKludgeBypassContentEncodingCheckInChunks) + clientCut := v.GetBool(cfgClientCut) + maxBufferSizeForPut := v.GetUint64(cfgBufferMaxSizeForPut) + md5Enabled := v.GetBool(cfgMD5Enabled) + policyDenyByDefault := v.GetBool(cfgPolicyDenyByDefault) + sourceIPHeader := v.GetString(cfgSourceIPHeader) + retryMaxAttempts := fetchRetryMaxAttempts(v) + retryMaxBackoff := fetchRetryMaxBackoff(v) + retryStrategy := fetchRetryStrategy(v) domains := v.GetStringSlice(cfgListenDomains) s.mu.Lock() defer s.mu.Unlock() + s.namespaceHeader = namespaceHeader + s.defaultNamespaces = defaultNamespaces + s.namespaces = nsConfig.Namespaces + s.defaultXMLNS = defaultXMLNS + s.bypassContentEncodingInChunks = bypassContentEncodingInChunks + s.clientCut = clientCut + s.maxBufferSizeForPut = maxBufferSizeForPut + s.md5Enabled = md5Enabled + s.policyDenyByDefault = policyDenyByDefault + s.sourceIPHeader = sourceIPHeader + s.retryMaxAttempts = retryMaxAttempts + s.retryMaxBackoff = retryMaxBackoff + s.retryStrategy = retryStrategy s.domains = domains } @@ -262,36 +260,18 @@ func (s *appSettings) BypassContentEncodingInChunks() bool { return s.bypassContentEncodingInChunks } -func (s *appSettings) setBypassContentEncodingInChunks(bypass bool) { - s.mu.Lock() - s.bypassContentEncodingInChunks = bypass - s.mu.Unlock() -} - func (s *appSettings) ClientCut() bool { s.mu.RLock() defer s.mu.RUnlock() return s.clientCut } -func (s *appSettings) setClientCut(clientCut bool) { - s.mu.Lock() - s.clientCut = clientCut - s.mu.Unlock() -} - func (s *appSettings) BufferMaxSizeForPut() uint64 { s.mu.RLock() defer s.mu.RUnlock() return s.maxBufferSizeForPut } -func (s *appSettings) setBufferMaxSizeForPut(size uint64) { - s.mu.Lock() - s.maxBufferSizeForPut = size - s.mu.Unlock() -} - func (s *appSettings) DefaultPlacementPolicy(namespace string) netmap.PlacementPolicy { s.mu.RLock() defer s.mu.RUnlock() @@ -339,12 +319,6 @@ func (s *appSettings) NewXMLDecoder(r io.Reader) *xml.Decoder { return dec } -func (s *appSettings) useDefaultXMLNamespace(useDefaultNamespace bool) { - s.mu.Lock() - s.defaultXMLNS = useDefaultNamespace - s.mu.Unlock() -} - func (s *appSettings) DefaultMaxAge() int { return s.defaultMaxAge } @@ -363,12 +337,6 @@ func (s *appSettings) MD5Enabled() bool { return s.md5Enabled } -func (s *appSettings) setMD5Enabled(md5Enabled bool) { - s.mu.Lock() - s.md5Enabled = md5Enabled - s.mu.Unlock() -} - func (s *appSettings) NamespaceHeader() string { s.mu.RLock() defer s.mu.RUnlock() @@ -404,54 +372,24 @@ func (s *appSettings) PolicyDenyByDefault() bool { return s.policyDenyByDefault } -func (s *appSettings) setPolicyDenyByDefault(policyDenyByDefault bool) { - s.mu.Lock() - s.policyDenyByDefault = policyDenyByDefault - s.mu.Unlock() -} - -func (s *appSettings) setSourceIPHeader(header string) { - s.mu.Lock() - s.sourceIPHeader = header - s.mu.Unlock() -} - func (s *appSettings) SourceIPHeader() string { s.mu.RLock() defer s.mu.RUnlock() return s.sourceIPHeader } -func (s *appSettings) setRetryMaxAttempts(maxAttempts int) { - s.mu.Lock() - s.retryMaxAttempts = maxAttempts - s.mu.Unlock() -} - func (s *appSettings) RetryMaxAttempts() int { s.mu.RLock() defer s.mu.RUnlock() return s.retryMaxAttempts } -func (s *appSettings) setRetryMaxBackoff(maxBackoff time.Duration) { - s.mu.Lock() - s.retryMaxBackoff = maxBackoff - s.mu.Unlock() -} - func (s *appSettings) RetryMaxBackoff() time.Duration { s.mu.RLock() defer s.mu.RUnlock() return s.retryMaxBackoff } -func (s *appSettings) setRetryStrategy(strategy handler.RetryStrategy) { - s.mu.Lock() - s.retryStrategy = strategy - s.mu.Unlock() -} - func (s *appSettings) RetryStrategy() handler.RetryStrategy { s.mu.RLock() defer s.mu.RUnlock()