Revision 7b0688a9 docs/source/devguide.rst

b/docs/source/devguide.rst
25 25
=========================  ================================
26 26
Revision                   Description
27 27
=========================  ================================
28
0.4 (June 30, 2011)        Object permissions and account groups.
28
0.4 (July 01, 2011)        Object permissions and account groups.
29 29
\                          Control versioning behavior and container quotas with container policy directives.
30 30
\                          Support updating/deleting individual metadata with ``POST``.
31
\                          Create object using hashmap.
31 32
0.3 (June 14, 2011)        Large object support with ``X-Object-Manifest``.
32 33
\                          Allow for publicly available objects via ``https://hostname/public``.
33 34
\                          Support time-variant account/container listings. 
......
472 473
Request Header Name   Value
473 474
====================  ================================
474 475
Range                 Optional range of data to retrieve
476
If-Range              Retrieve the missing part if entity is unchanged; otherwise, retrieve the entire new entity (used together with Range header)
475 477
If-Match              Retrieve if ETags match
476 478
If-None-Match         Retrieve if ETags don't match
477 479
If-Modified-Since     Retrieve if object has changed since provided timestamp
......
584 586

  
585 587
|
586 588

  
589
======================  ===================================
590
Request Parameter Name  Value
591
======================  ===================================
592
format                  Optional extended request type (can be ``json``) to create the object by suppling its hashmap instead
593
======================  ===================================
594

  
595
The request is the object's data (or part of it), except if a hashmap is provided with the ``format`` parameter.  If format is used and all different parts are stored in the server, the object is created otherwise the server returns Conflict (409) with the list of the missing parts. 
596

  
597
Hashmaps expose the underlying storage format of the object.
598

  
599
Example ``format=json`` request:
600

  
601
::
602

  
603
  {"block_hash": "sha1", "hashes": ["7295c41da03d7f916440b98e32c4a2a39351546c", ...], "block_size": 131072, "bytes": 242}
604

  
605

  
587 606
==========================  ===============================
588 607
Reply Header Name           Value
589 608
==========================  ===============================
......
599 618
409 (Conflict)               The object can not be created from the provided hashmap, or there are conflicting permissions (a list of missing hashes, or a conflicting sharing path will be included in the reply - in JSON format)
600 619
411 (Length Required)        Missing ``Content-Length`` or ``Content-Type`` in the request
601 620
422 (Unprocessable Entity)   The MD5 checksum of the data written to the storage system does not match the (optionally) supplied ETag value
621
409 (Conflict)               Conflict with the current state of the resource
602 622
===========================  ==============================
603 623

  
604 624

  

Also available in: Unified diff