Bump github.com/tus/tusd from 1.12.1 to 1.13.0
Bumps [github.com/tus/tusd](https://github.com/tus/tusd) from 1.12.1 to 1.13.0. - [Release notes](https://github.com/tus/tusd/releases) - [Commits](https://github.com/tus/tusd/compare/v1.12.1...v1.13.0) --- updated-dependencies: - dependency-name: github.com/tus/tusd dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
committed by
Ralf Haferkamp
parent
963c492a73
commit
eca299789d
+21
-18
@@ -72,6 +72,7 @@ var (
|
||||
ErrUploadLengthAndUploadDeferLength = NewHTTPError(errors.New("provided both Upload-Length and Upload-Defer-Length"), http.StatusBadRequest)
|
||||
ErrInvalidUploadDeferLength = NewHTTPError(errors.New("invalid Upload-Defer-Length header"), http.StatusBadRequest)
|
||||
ErrUploadStoppedByServer = NewHTTPError(errors.New("upload has been stopped by server"), http.StatusBadRequest)
|
||||
ErrOriginNotAllowed = NewHTTPError(errors.New("request origin is not allowed"), http.StatusForbidden)
|
||||
|
||||
errReadTimeout = errors.New("read tcp: i/o timeout")
|
||||
errConnectionReset = errors.New("read tcp: connection reset by peer")
|
||||
@@ -213,9 +214,9 @@ func (handler *UnroutedHandler) SupportedExtensions() string {
|
||||
func (handler *UnroutedHandler) Middleware(h http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
// Allow overriding the HTTP method. The reason for this is
|
||||
// that some libraries/environments to not support PATCH and
|
||||
// DELETE requests, e.g. Flash in a browser and parts of Java
|
||||
if newMethod := r.Header.Get("X-HTTP-Method-Override"); newMethod != "" {
|
||||
// that some libraries/environments do not support PATCH and
|
||||
// DELETE requests, e.g. Flash in a browser and parts of Java.
|
||||
if newMethod := r.Header.Get("X-HTTP-Method-Override"); r.Method == "POST" && newMethod != "" {
|
||||
r.Method = newMethod
|
||||
}
|
||||
|
||||
@@ -225,27 +226,29 @@ func (handler *UnroutedHandler) Middleware(h http.Handler) http.Handler {
|
||||
|
||||
header := w.Header()
|
||||
|
||||
if origin := r.Header.Get("Origin"); !handler.config.DisableCors && origin != "" {
|
||||
cors := handler.config.Cors
|
||||
if origin := r.Header.Get("Origin"); !cors.Disable && origin != "" {
|
||||
originIsAllowed := cors.AllowOrigin.MatchString(origin)
|
||||
if !originIsAllowed {
|
||||
handler.sendError(w, r, ErrOriginNotAllowed)
|
||||
return
|
||||
}
|
||||
|
||||
header.Set("Access-Control-Allow-Origin", origin)
|
||||
header.Set("Vary", "Origin")
|
||||
|
||||
if cors.AllowCredentials {
|
||||
header.Add("Access-Control-Allow-Credentials", "true")
|
||||
}
|
||||
|
||||
if r.Method == "OPTIONS" {
|
||||
allowedMethods := "POST, HEAD, PATCH, OPTIONS"
|
||||
if !handler.config.DisableDownload {
|
||||
allowedMethods += ", GET"
|
||||
}
|
||||
|
||||
if !handler.config.DisableTermination {
|
||||
allowedMethods += ", DELETE"
|
||||
}
|
||||
|
||||
// Preflight request
|
||||
header.Add("Access-Control-Allow-Methods", allowedMethods)
|
||||
header.Add("Access-Control-Allow-Headers", "Authorization, Origin, X-Requested-With, X-Request-ID, X-HTTP-Method-Override, Content-Type, Upload-Length, Upload-Offset, Tus-Resumable, Upload-Metadata, Upload-Defer-Length, Upload-Concat, Upload-Incomplete, Upload-Draft-Interop-Version")
|
||||
header.Set("Access-Control-Max-Age", "86400")
|
||||
|
||||
header.Add("Access-Control-Allow-Methods", cors.AllowMethods)
|
||||
header.Add("Access-Control-Allow-Headers", cors.AllowHeaders)
|
||||
header.Set("Access-Control-Max-Age", cors.MaxAge)
|
||||
} else {
|
||||
// Actual request
|
||||
header.Add("Access-Control-Expose-Headers", "Upload-Offset, Location, Upload-Length, Tus-Version, Tus-Resumable, Tus-Max-Size, Tus-Extension, Upload-Metadata, Upload-Defer-Length, Upload-Concat, Upload-Incomplete, Upload-Draft-Interop-Version")
|
||||
header.Add("Access-Control-Expose-Headers", cors.ExposeHeaders)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user