Browse Source

Fixed content/type detection to use prefix matching in case the content/type header is sent with charset suffix.

pull/45/head
Simon Eisenmann 12 years ago
parent
commit
d7820b09f1
  1. 8
      src/app/spreed-webrtc-server/users.go

8
src/app/spreed-webrtc-server/users.go

@ -422,20 +422,20 @@ func (users *Users) Post(request *http.Request) (int, interface{}, http.Header)
var snr *SessionNonceRequest var snr *SessionNonceRequest
switch request.Header.Get("Content-Type") { ct := request.Header.Get("Content-Type")
case "application/json": if strings.HasPrefix(ct, "application/json") {
snr = &SessionNonceRequest{} snr = &SessionNonceRequest{}
decoder := json.NewDecoder(request.Body) decoder := json.NewDecoder(request.Body)
err := decoder.Decode(snr) err := decoder.Decode(snr)
if err != nil { if err != nil {
return 400, NewApiError("users_bad_request", "Failed to parse request"), http.Header{"Content-Type": {"application/json"}} return 400, NewApiError("users_bad_request", "Failed to parse request"), http.Header{"Content-Type": {"application/json"}}
} }
case "application/x-www-form-urlencoded": } else if strings.HasPrefix(ct, "application/x-www-form-urlencoded") {
snr = &SessionNonceRequest{ snr = &SessionNonceRequest{
Id: request.Form.Get("id"), Id: request.Form.Get("id"),
Sid: request.Form.Get("sid"), Sid: request.Form.Get("sid"),
} }
default: } else {
return 400, NewApiError("users_invalid_request", "Invalid request type"), http.Header{"Content-Type": {"application/json"}} return 400, NewApiError("users_invalid_request", "Invalid request type"), http.Header{"Content-Type": {"application/json"}}
} }

Loading…
Cancel
Save