Don't disable required params check

This commit is contained in:
Deluan 2020-01-09 10:35:00 -05:00 committed by Deluan Quintão
parent 24cbf766a3
commit a706429a4a
2 changed files with 12 additions and 6 deletions

View File

@ -18,9 +18,10 @@ type SubsonicHandler = func(http.ResponseWriter, *http.Request) (*responses.Subs
func Router() http.Handler {
r := chi.NewRouter()
r.Use(checkRequiredParameters)
// Add validation middleware if not disabled
if !conf.Sonic.DisableValidation {
r.Use(checkRequiredParameters)
r.Use(authenticate)
// TODO Validate version
}

View File

@ -29,12 +29,17 @@ func checkRequiredParameters(next http.Handler) http.Handler {
if ParamString(r, "p") == "" && (ParamString(r, "s") == "" || ParamString(r, "t") == "") {
log.Warn(r, "Missing authentication information")
}
ctx := r.Context()
ctx = context.WithValue(ctx, "user", ParamString(r, "u"))
ctx = context.WithValue(ctx, "client", ParamString(r, "c"))
ctx = context.WithValue(ctx, "version", ParamString(r, "v"))
r = r.WithContext(ctx)
user := ParamString(r, "u")
client := ParamString(r, "c")
version := ParamString(r, "v")
ctx := r.Context()
ctx = context.WithValue(ctx, "user", user)
ctx = context.WithValue(ctx, "client", client)
ctx = context.WithValue(ctx, "version", version)
log.Info(ctx, "New Subsonic API request", "user", user, "client", client, "version", version, "path", r.URL.Path)
r = r.WithContext(ctx)
next.ServeHTTP(w, r)
})
}