Difference between revisions of "Zaqar/specs/api/v1/responsecodes"
< Zaqar | specs/api/v1
(→Query Claim) |
(→Update Claim) |
||
Line 353: | Line 353: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! Scenario!! HTTP Response Code |
+ | |- | ||
+ | | Success || 204 | ||
|- | |- | ||
| Update Expired Claim || 404 | | Update Expired Claim || 404 |
Revision as of 18:36, 19 June 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 (Insert) | 201 |
Success (Update) | 204 |
Request Body is Empty | 400 |
Request Body has toplevel field starting with underscore | 400 |
Request header has missing fields | 400 |
Request header has invalid auth token | 401 |
Request header has Accept != "application/json" | 406 |
Request body is >4KB | 400 |
Request body has malformed JSON | 400 |
Request with non JSON body | 400 |
Queue has a long name (>512 bytes) | 400 |
Queue that already exists | 204 |
Queue did not already exist | 201 |
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 [1] | 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
same as create queue
Get Queue Metadata
Scenario | HTTP Response Code |
---|---|
Success | 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 [2] |
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 [1] |
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 [1] |
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) [3] |
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
Error Scenario | HTTP Response Code |
---|---|
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 |