Querying Sequins
Sequins has a single interface for fetching values, HTTP GET:
$ http localhost:9599/mydata/<key>
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 7
Date: Mon, 01 Aug 2016 11:57:53 GMT
Last-Modified: Mon, 01 Aug 2016 11:56:27 GMT
X-Sequins-Version: version0
<value>
For this reason, Sequins has no client library; you can use whatever HTTP client is available in your language.
Response and Request Headers
Sequins supports a couple advanced HTTP features and customizations:
Last-Modified
is set to the time that the database was last updated or created.Content-Length
is set on responses, and you should ensure that your HTTP client verifies that the response body is the correct length.X-Sequins-Version
is set on responses, and holds the current version of the database.If the request was proxied to a peer in a distributed cluster, 'X-Sequins-Proxied-to' will hold the hostname of the peer.
Response Codes
Sequins will sometimes return non-200 response codes:
400 Bad Request
: This is returned for requests with an HTTP method other than GET, and for requests with only a single path component (and therefore no key), likeGET /foo
.404 Not Found
: This indicates that either the key or database does not exist. If you need to differentiate, check for the presence of anX-Sequins-Version
header; if one is set, then you have reached a valid database, but the key is not present in it.502 Bad Gateway
: This indicates that the node attempted to proxy the request to a peer in a distributed cluster, but that no peers were available for the given partition. This could be the case if the cluster is partially down.504 Gateway Timeout
: Like a502
, this indicates that the node attempted to proxy the request to a peer or peers in a distributed cluster, but that all peers timed out.
If sequins responds with an HTTP status code not listed here, please file an issue.