mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
etcdserver, api, v2http, client: Added support for semicolons
Added support into the v2 API to fix an issue (6433) where if there is a semicolon and fields after it the API would return an "invalid Content-type" message even if the content type was actually correct
This commit is contained in:
@@ -761,6 +761,10 @@ func trimErrorPrefix(err error, prefix string) error {
|
||||
|
||||
func unmarshalRequest(r *http.Request, req json.Unmarshaler, w http.ResponseWriter) bool {
|
||||
ctype := r.Header.Get("Content-Type")
|
||||
semicolonPosition := strings.Index(ctype, ";")
|
||||
if semicolonPosition != -1 {
|
||||
ctype = strings.TrimSpace(strings.ToLower(ctype[0:semicolonPosition]))
|
||||
}
|
||||
if ctype != "application/json" {
|
||||
writeError(w, r, httptypes.NewHTTPError(http.StatusUnsupportedMediaType, fmt.Sprintf("Bad Content-Type %s, accept application/json", ctype)))
|
||||
return false
|
||||
|
||||
Reference in New Issue
Block a user