Quantcast
Channel: Ignite Realtime : All Content - Openfire Plugins
Viewing all articles
Browse latest Browse all 488

REST API Plugin not returning the right HTTP Status

$
0
0

When I execute a GET request for a room that doesn't exist, I get an HTTP 500 (Internal Server Error) back instead of HTTP 404 (Not Found), which would be the correct return code for REST.

 

My Request:

GET http://localhost:9090/plugins/restapi/v1/chatrooms/doesnt.exist/ HTTP/1.1
Accept-Encoding: gzip,deflate
Authorization: AUTHCODE
Host: localhost:9090
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)

 

The Response:

HTTP/1.1 500 Internal Server Error
Date: Sat, 20 Aug 2016 09:45:10 GMT
Set-Cookie: JSESSIONID=ino92lblptxfkdxw6at7srmv;Path=/;HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Frame-Options: deny Content-Length: 0

 

The Server Log is pretty clear:

2016.08.20 11:45:10 ERROR [Jetty-QTP-AdminConsole-63]: org.jivesoftware.openfire.plugin.rest.exceptions.RESTExceptionMapper - RoomNotFoundException: Could not find the chat room with ressource doesnt.exist

 

I didn't test it for other entities, but 404 should always be returned for cases where the requested entity isn't found. HTTP 500 Should really only be returned in case an unexpected Exception occurs.


Viewing all articles
Browse latest Browse all 488

Trending Articles