Mariangela Hills created STRATOS-1283:
-----------------------------------------
Summary: Wrong HTTP status code - deleting an artifact that does
not exist
Key: STRATOS-1283
URL: https://issues.apache.org/jira/browse/STRATOS-1283
Project: Stratos
Issue Type: Bug
Components: REST API
Affects Versions: 4.1.0 Alpha
Reporter: Mariangela Hills
Priority: Minor
When deleting an artifact that does not exist, the 400 (Bad Request) HTTP
status code is returned [1]. This is not correct as it gives the user the
impression that they have entered an incorrect cURL command.
(1) In situations like this the 404 (Not found) request should be returned to
indicate to the user that the deletion did not take place because the resource
was not found.
(2)
The following error message that is returned too should be more meaningful, so
the user can identify why the error occurred.
{"errorCode":400,"errorMessage":"Error while fulfilling the request"}
Suggested message:
{"errorCode":404,"errorMessage":"Could not delete the cartridge group as it
does not exist."}
----------------------------------------------------------------------------
[1]
Admin16s-MacBook-Air:samples Admin16$ curl -X DELETE -H "Content-Type:
application/json" -k -v -u admin:admin
https://localhost:9443/api/cartridgeGroups/group634
* About to connect() to localhost port 9443 (#0)
* Trying ::1...
* connected
* Connected to localhost (::1) port 9443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSL connection using DHE-RSA-AES256-SHA
* Server certificate:
* subject: C=US; ST=CA; L=Mountain View; O=WSO2; CN=localhost
* start date: 2010-02-19 07:02:26 GMT
* expire date: 2035-02-13 07:02:26 GMT
* common name: localhost (matched)
* issuer: C=US; ST=CA; L=Mountain View; O=WSO2; CN=localhost
* SSL certificate verify result: unable to get local issuer certificate
(20), continuing anyway.
* Server auth using Basic with user 'admin'
> DELETE /api/cartridgeGroups/group634 HTTP/1.1
> Authorization: Basic YWRtaW46YWRtaW4=
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0
> OpenSSL/0.9.8| zlib/1.2.5
> Host: localhost:9443
> Accept: */*
> Content-Type: application/json
>
< HTTP/1.1 400 Bad Request
< Date: Tue, 24 Mar 2015 04:25:16 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Connection: close
< Server: WSO2 Carbon Server
<
* Closing connection #0
* SSLv3, TLS alert, Client hello (1):
{"errorCode":400,"errorMessage":"Error while fulfilling the request"}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)