Read object
The GET method retrieves a previously stored object by using the object identifier. The URL consists of the vault name followed by the object identifier. An object is not available until it is written. Partially completed objects cannot be accessed with the read operation.
Sample request
GET /vault-name/d6133cd067ad4ea38cdcd1faa1e4e9040000 HTTP/1.1
An object is
retrieved from a vault that is named vault-name by using the access server
access.example.com. Sample response
HTTP/1.1 200 OK
Server: Cleversafe/3.2.0.0
Accept-Ranges: bytes
Date: Wed, 25 Sep 2013 14:38:12 GMT
X-SOH-Version: 2.5
X-Clv-Request-Id: dcaf63bf-2379-4934-b986-349ade203257
ETag: d6133cd067ad4ea38cdcd1faa1e4e9040000
Content-Length: 43
The quick brown fox jumps over the lazy dog
The response contains the source data of the retrieved object. The ETag is equal
to the object ID returned in the write request. Status codes
| Code | Status | Description |
|---|---|---|
| 200 | OK | Object was read successfully from the vault. |
| 206 | Partial Content | Object was read successfully from the vault and a portion was returned. |
| 400 | Bad Request | URL contained an invalid object identifier or was otherwise malformed. |
| 401 | Unauthorized | User authentication is needed. The request either did not provide correct credentials or the user does not have permission to read from the indicated vault. |
| 403 | Forbidden | Client has insufficient privileges to perform the operation. |
| 404 | Not Found | No such object exists in the vault. |
| 416 | Requested Range Not Satisfiable | Requested range is greater than available from the object. |
| 500 | Internal Server Error | Internal error was encountered on the access server. It is an unrecoverable error. Details can be provided in message body. |
Range requests
HTTP Range function is defined in sections 14.16, 14.35, and 19.2 of Hypertext Transfer Protocol -- HTTP/1.1 [RFC 2616]. A certain portion of an object can be requested by using the Range header. When an access server receives a request with a Range header, it replies with a proper 206 Partial Content or 416 Requested Range Not Satisfiable statuses, depending on whether the requested range is satisfiable. If an access server receives a syntactically invalid range request, the Range header is ignored and an ordinary full-entity response is returned. It conforms to Hypertext Transfer Protocol -- HTTP/1.1 [RFC 2616 section 14.35.1]. Multi-range requests, as described in Hypertext Transfer Protocol -- HTTP/1.1 [RFC 2616 section 19.2], are not supported. When a multi-range request is received, the server treats the request as a syntactically invalid range request and returns an ordinary full-entity response.