diff --git a/pkg/rest/apisurface.go b/pkg/rest/apisurface.go index bb43cd1..a784301 100644 --- a/pkg/rest/apisurface.go +++ b/pkg/rest/apisurface.go @@ -420,15 +420,17 @@ func (s *APISurface) UpdateHandler(w http.ResponseWriter, r *http.Request) { func unpackUpdateRequest(r *http.Request) (*osb.UpdateInstanceRequest, error) { osbRequest := &osb.UpdateInstanceRequest{} + if err := unmarshalRequestBody(r, osbRequest); err != nil { + return nil, err + } vars := mux.Vars(r) - osbRequest.ServiceID = vars[osb.VarKeyServiceID] + osbRequest.InstanceID = vars[osb.VarKeyInstanceID] - planID := vars[osb.VarKeyPlanID] - if planID != "" { - osbRequest.PlanID = &planID + asyncQueryParamVal := r.FormValue(osb.AcceptsIncomplete) + if strings.ToLower(asyncQueryParamVal) == "true" { + osbRequest.AcceptsIncomplete = true } - identity, err := retrieveOriginatingIdentity(r) // This could be not found because platforms may support the feature // but are not guaranteed to.