goharbor/harbor · error · *errors.Error

BAD_REQUEST

BAD_REQUEST

Error message

invalid semicolon separator in query

What it means

Error "invalid semicolon separator in query" thrown in goharbor/harbor.

Source

Thrown at src/server/middleware/url/parse.go:32

package url // nolint:revive

import (
	"net/http"
	"net/url"

	"github.com/goharbor/harbor/src/lib/errors"
	lib_http "github.com/goharbor/harbor/src/lib/http"
	"github.com/goharbor/harbor/src/server/middleware"
)

// Middleware middleware which validates the raw query, especially for the invalid semicolon separator.
func Middleware(skippers ...middleware.Skipper) func(http.Handler) http.Handler {
	return middleware.New(func(w http.ResponseWriter, r *http.Request, next http.Handler) {
		if r.URL != nil && r.URL.RawQuery != "" {
			_, err := url.ParseQuery(r.URL.RawQuery)
			if err != nil {
				lib_http.SendError(w, errors.New(err).WithCode(errors.BadRequestCode))
				return
			}
		}
		next.ServeHTTP(w, r)
	}, skippers...)
}

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/server/middleware/url/parse.go:32 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/d31714e3b61c10d7. Report an issue: GitHub.