Difference between revisions of "Zaqar/specs/api/v1/responsecodes"
< Zaqar | specs/api/v1
(→Set Queue Metadata) |
(→Get Queue Metadata) |
||
Line 74: | Line 74: | ||
| Success || 200 | | Success || 200 | ||
|- | |- | ||
− | | No metadata exists for the queue || | + | | No metadata exists for the queue || 200 |
|- | |- | ||
| Request metadata for a non existing queue || 404 | | Request metadata for a non existing queue || 404 |
Revision as of 17:33, 1 August 2013
- In case of error, the response body will have a message appropriate to the scenario
- Any http operation , other than the specified will return a 405 (?)
Contents
Create Queue
Scenario | HTTP Response Code |
---|---|
Success (Created) | 201 |
Success (Already exists) | 204 |
Success (Post with metadata -Created) | 201[1] |
Queue has a long name (>64 bytes) | 400 |
Request header has missing fields | 400 |
Request header has invalid auth token | 401 |
List Queues
Scenario | HTTP Response Code | Notes |
---|---|---|
Success | 200 | |
Request a non existing queue | 404 | |
URL has invalid param (something other than limit,marker,metadata) | 200 | Extra params are ignored. |
Request with negative value for limit | 400 | |
Request with zero value for limit | 400 | |
Request with non existing value of marker | 204 [2] | What does Swift do? |
Request with non boolean value for metadata | 400 | lowercase true/false? |
Header has Accept != "application/json" | 406 | |
Header has missing fields | 400 | |
Header has invalid auth token | 401 |
Set Queue Metadata
Success | 204 |
Request Body is Empty | 400 |
Request header has Accept != "application/json" | 406 |
Request body is >64KB | 400 |
Request body has malformed JSON | 400 |
Request with non JSON body | 400 |
Request with UTF-16 char JSON body |
Get Queue Metadata
Scenario | HTTP Response Code |
---|---|
Success | 200 |
No metadata exists for the queue | 200 |
Request metadata for a non existing queue | 404 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Get Queue Stats
Scenario | HTTP Response Code |
---|---|
Success | 200 |
Request stats for a non existing queue | 404 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Delete Queue
Scenario | HTTP Response Code |
---|---|
Success | 204 |
Delete a non existing queue | 204 [3] |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Get Messages
Scenario | HTTP Response Code |
---|---|
Success (query matched 1 or more messages) | 200 |
Success (query has no match) | 204 |
Request message from a non existing queue | 404 |
Request message with invalid param (something other than marker,limit,echo) | 200 |
Request message with limit >100 | 400 |
Request message with limit <= 0 | 400 |
Request message with non existing marker | 204 [2] |
Request message with non boolean value for echo | 400 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
Get Actions
Error Scenario | HTTP Response Code |
---|---|
Request actions for a non existing queue | 404 |
Request actions with invalid param (something other than marker,limit) | 200 |
Request message with limit >100 | 400 |
Request message with limit <= 0 | 400 |
Request message with non existing marker | 204 [2] |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
Get a Specific Message
Scenario | HTTP Response Code |
---|---|
Success (query matched the messages) | 200 |
Request message from a non existing queue | 404 |
Request a non existing message | 404 |
Request an expired message | 404 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Get a Set of Messages By ID
Scenario | HTTP Response Code |
---|---|
Success | 200 |
Partial Success | |
Request non existing messages | 404 |
Request expired messages | 404 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Post Message(s)
Scenario | HTTP Response Code |
---|---|
Success | 201 |
Post multiple messages in a single request , all of them fails | 503 |
Post multiple messages in a single request , few of them succeed | 201 (with "partial": true) [4] |
Post message to a non existing queue | 404 |
Post > 100 messages with a single request | 400 |
Post with request body > 4KB | 400 |
Post with invalid JSON request body | 400 |
Post with non-JSON request body | 400 |
Post with non-JSON message | 400 |
Post with TTL < 60 | 400 |
Post with TTL > 1209600 | 400 |
Post with non int value of TTL | 400 |
Post with negative value of TTL | same as < 60 |
Post without TTL in request body | 400 |
Post without "body" in request body | 400 |
Post with no request body | 400 |
Post with messages encapsulated in multiple arrays | 400 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Delete Messages
Scenario | HTTP Response Code |
---|---|
Success | 204 |
Delete message from a non existing queue | 204 |
Delete a non existing message | 204 |
Delete with expired claim_id | 403 |
Delete with non existing claim_id | 403 |
Header has Accept != "application/json" | 406 |
Header has missing fields | 400 |
Header has invalid auth token | 401 |
URL has invalid params | 200 |
Claim Messages
Scenario | HTTP Response Code |
---|---|
Success | 200 |
Success (empty queue with no messages to claim) | 204 |
Claim message from a non existing queue | 404 |
Claim message with invalid value for limit (nonint, <=0) | 400 |
Claim message with limit >100) | 400 |
Claim message with no request body | 400 |
Claim message with no TTL field | 400 |
Claim message with invalid TTL value (non int, <=0) | 400 |
Claim message with invalid JSON | 400 |
Claim message with non JSON request body | 400 |
Claim message with invalid auth token | 401 |
Claim message with missing header fields | 400 |
Header has Accept != "application/json" | 406 |
Query Claim
Scenario | HTTP Response Code |
---|---|
Success | 200 |
Query Expired Claim | 404 |
Query Claim from a non existing queue | 404 |
Query Claim with invalid auth token | 401 |
Query Claim with missing header fields | 400 |
Query Claim with invalid URL params | 200 |
Query Claim with non existing claim_id | 404 |
Header has Accept != "application/json" | 406 |
Update Claim
Scenario | HTTP Response Code |
---|---|
Success | 204 |
Update Expired Claim | 404 |
Update Claim on a non existing queue | 404 |
Update a non existing claim | 404 |
Update claim with invalid URL params | 200 |
Update claim with content-type != application/json-patch | 406 |
Update claim with no request body | 400 |
Update claim with invalid JSON in request body | 400 |
Update claim with non JSON request body | 400 |
Update Claim with invalid auth token | 401 |
Update Claim with missing header fields | 400 |
Release Claim
Scenario | HTTP Response Code |
---|---|
Success | 204 |
Release Expired Claim | 204 |
Release Claim from a non existing queue | 404 |
Release a non existing claim | 204 |
Release claim with invalid URL params | 200 |
Release Claim with invalid auth token | 401 |
Release Claim with missing header fields | 400 |
Header has Accept != "application/json" | 406 |
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedref3
- ↑ 2.0 2.1 2.2 A marker is an opaque string which relates to no resource from the user's point of view, so markers are not differentiated by "existing" or "non existing", they are either "giving more messages" and "giving no messages".
- ↑ DELETE is an idempotent operation.
- ↑ postmessage api wiki