1 Commits

Author SHA1 Message Date
53b359d988 Merge pull request #11 from ferdzo/fix/multi-delete-authz
Fix/multi delete authz
2026-07-08 23:43:26 +02:00

View File

@@ -43,17 +43,11 @@ const (
maxObjectKeyBytes = 1024 maxObjectKeyBytes = 1024
maxAWSChunkedLineBytes = 8 << 10 maxAWSChunkedLineBytes = 8 << 10
serverReadHeaderTimeout = 5 * time.Second serverReadHeaderTimeout = 5 * time.Second
// serverReadTimeout and serverWriteTimeout are disabled on purpose: both serverReadTimeout = 60 * time.Second
// cover the full request/response lifetime including streaming bodies, so a serverWriteTimeout = 120 * time.Second
// finite value truncates large uploads and downloads mid-flight. Read and serverIdleTimeout = 120 * time.Second
// idle liveness are still enforced by serverReadHeaderTimeout (header serverMaxHeaderBytes = 1 << 20
// phase) and serverIdleTimeout (between keepalive requests), and concurrent serverMaxConnections = 1024
// load is bounded by serverMaxConnections.
serverReadTimeout = 0
serverWriteTimeout = 0
serverIdleTimeout = 120 * time.Second
serverMaxHeaderBytes = 1 << 20
serverMaxConnections = 1024
) )
func NewHandler(svc *service.ObjectService, logger *slog.Logger, logConfig logging.Config, authSvc *auth.Service, adminAPI bool) *Handler { func NewHandler(svc *service.ObjectService, logger *slog.Logger, logConfig logging.Config, authSvc *auth.Service, adminAPI bool) *Handler {
@@ -277,14 +271,8 @@ func (h *Handler) handleGetObject(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Last-Modified", time.Unix(manifest.CreatedAt, 0).UTC().Format(http.TimeFormat)) w.Header().Set("Last-Modified", time.Unix(manifest.CreatedAt, 0).UTC().Format(http.TimeFormat))
w.Header().Set("Accept-Ranges", "bytes") w.Header().Set("Accept-Ranges", "bytes")
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
if _, err = io.Copy(w, stream); err != nil && !errors.Is(err, context.Canceled) { _, err = io.Copy(w, stream)
h.logger.Warn("get_object_stream_failed",
"bucket", bucket,
"key", key,
"etag", manifest.ETag,
"error", err,
)
}
} }
func (h *Handler) handlePostObject(w http.ResponseWriter, r *http.Request) { func (h *Handler) handlePostObject(w http.ResponseWriter, r *http.Request) {