diff --git a/controller/client/client.go b/controller/client/client.go index c6568e03..eac75e1a 100644 --- a/controller/client/client.go +++ b/controller/client/client.go @@ -84,6 +84,14 @@ func (c *Client) handleResponse(resp *http.Response) ([]byte, error) { return body, err } +func (c *Client) handleCreateResponse(resp *http.Response) ([]byte, error) { + if resp.StatusCode != 201 { + return nil, fission.MakeErrorFromHTTP(resp) + } + body, err := ioutil.ReadAll(resp.Body) + return body, err +} + func (c *Client) FunctionCreate(f *fission.Function) (*fission.Metadata, error) { orig := f.Code f.Code = base64.StdEncoding.EncodeToString([]byte(f.Code)) @@ -100,7 +108,7 @@ func (c *Client) FunctionCreate(f *fission.Function) (*fission.Metadata, error) } defer resp.Body.Close() - body, err := c.handleResponse(resp) + body, err := c.handleCreateResponse(resp) if err != nil { return nil, err } @@ -232,7 +240,7 @@ func (c *Client) HTTPTriggerCreate(t *fission.HTTPTrigger) (*fission.Metadata, e } defer resp.Body.Close() - body, err := c.handleResponse(resp) + body, err := c.handleCreateResponse(resp) if err != nil { return nil, err } @@ -339,7 +347,7 @@ func (c *Client) EnvironmentCreate(env *fission.Environment) (*fission.Metadata, } defer resp.Body.Close() - body, err := c.handleResponse(resp) + body, err := c.handleCreateResponse(resp) if err != nil { return nil, err } @@ -446,7 +454,7 @@ func (c *Client) WatchCreate(w *fission.Watch) (*fission.Metadata, error) { } defer resp.Body.Close() - body, err := c.handleResponse(resp) + body, err := c.handleCreateResponse(resp) if err != nil { return nil, err } diff --git a/controller/environmentApi.go b/controller/environmentApi.go index 7da42e35..5a6dca70 100644 --- a/controller/environmentApi.go +++ b/controller/environmentApi.go @@ -71,6 +71,7 @@ func (api *API) EnvironmentApiCreate(w http.ResponseWriter, r *http.Request) { return } + w.WriteHeader(http.StatusCreated) api.respondWithSuccess(w, resp) } diff --git a/controller/functionApi.go b/controller/functionApi.go index c81a1cde..6cbf7df8 100644 --- a/controller/functionApi.go +++ b/controller/functionApi.go @@ -77,6 +77,7 @@ func (api *API) FunctionApiCreate(w http.ResponseWriter, r *http.Request) { return } + w.WriteHeader(http.StatusCreated) api.respondWithSuccess(w, resp) } diff --git a/controller/httpTriggerApi.go b/controller/httpTriggerApi.go index 59a5d710..432f9060 100644 --- a/controller/httpTriggerApi.go +++ b/controller/httpTriggerApi.go @@ -83,6 +83,7 @@ func (api *API) HTTPTriggerApiCreate(w http.ResponseWriter, r *http.Request) { return } + w.WriteHeader(http.StatusCreated) api.respondWithSuccess(w, resp) } diff --git a/controller/watchApi.go b/controller/watchApi.go index 6c521f6d..fede0c3d 100644 --- a/controller/watchApi.go +++ b/controller/watchApi.go @@ -71,6 +71,7 @@ func (api *API) WatchApiCreate(w http.ResponseWriter, r *http.Request) { return } + w.WriteHeader(http.StatusCreated) api.respondWithSuccess(w, resp) }