Revision 6b6b6c1e docs/source/devguide.rst

b/docs/source/devguide.rst
36 36
\                          Always reply with the MD5 in the ETag.
37 37
\                          Note that ``/login`` will only work if an external authentication system is defined.
38 38
\                          Include option to ignore Content-Type on ``COPY``/``MOVE``.
39
\                          Use format parameter for conflict (409) replies.
39 40
0.7 (Nov 21, 2011)         Suggest upload/download methods using hashmaps.
40 41
\                          Propose syncing algorithm.
41 42
\                          Support cross-account object copy and move.
......
840 841
======================  ===================================
841 842
Request Parameter Name  Value
842 843
======================  ===================================
843
format                  Optional extended request type (can be ``json`` or ``xml``)
844
format                  Optional extended request/conflict response type (can be ``json`` or ``xml``)
844 845
hashmap                 Optional hashmap provided instead of data (no value parameter)
845 846
======================  ===================================
846 847

  
847
The request is the object's data (or part of it), except if a hashmap is provided (using ``hashmap`` and ``format`` parameters). If using a hashmap 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 (in a simple text format, with one hash per line).
848
The request is the object's data (or part of it), except if a hashmap is provided (using ``hashmap`` and ``format`` parameters). If using a hashmap 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 (in simple text format, with one hash per line, or in JSON/XML - depending on the ``format`` parameter).
848 849

  
849 850
Hashmaps should be formatted as outlined in ``GET``.
850 851

  
......
861 862
Return Code                     Description
862 863
==============================  ==============================
863 864
201 (Created)                   The object has been created
864
409 (Conflict)                  The object can not be created from the provided hashmap, or there are conflicting permissions (a list of missing hashes, or a list of conflicting sharing paths will be included in the reply - in simple text format)
865
409 (Conflict)                  The object can not be created from the provided hashmap, or there are conflicting permissions (a list of missing hashes, or a list of conflicting sharing paths will be included in the reply)
865 866
411 (Length Required)           Missing ``Content-Length`` or ``Content-Type`` in the request
866 867
413 (Request Entity Too Large)  Insufficient quota to complete the request
867 868
422 (Unprocessable Entity)      The MD5 checksum of the data written to the storage system does not match the (optionally) supplied ETag value
......
871 872
COPY
872 873
""""
873 874

  
874
======================  ===================================
875
Request Parameter Name  Value
876
======================  ===================================
877
ignore_content_type     Ignore the supplied Content-Type
878
======================  ===================================
879

  
880
|
881

  
882 875
====================  ================================
883 876
Request Header Name   Value
884 877
====================  ================================
......
898 891

  
899 892
:sup:`*` *When using django locally with the supplied web server, use the ignore_content_type parameter, or do provide a valid Content-Type, as a type of text/plain is applied by default to all requests. Client software should always state ignore_content_type, except when a Content-Type is explicitly defined by the user.*
900 893

  
894
======================  ===================================
895
Request Parameter Name  Value
896
======================  ===================================
897
format                  Optional conflict response type (can be ``json`` or ``xml``)
898
ignore_content_type     Ignore the supplied Content-Type
899
======================  ===================================
900

  
901 901
Refer to ``PUT``/``POST`` for a description of request headers. Metadata is also copied, updated with any values defined. Sharing/publishing options are not copied.
902 902

  
903 903
==========================  ===============================
......
912 912
Return Code                     Description
913 913
==============================  ==============================
914 914
201 (Created)                   The object has been created
915
409 (Conflict)                  There are conflicting permissions (a list of conflicting sharing paths will be included in the reply - in simple text format)
915
409 (Conflict)                  There are conflicting permissions (a list of conflicting sharing paths will be included in the reply)
916 916
413 (Request Entity Too Large)  Insufficient quota to complete the request
917 917
==============================  ==============================
918 918

  
......
952 952
======================  ============================================
953 953
Request Parameter Name  Value
954 954
======================  ============================================
955
format                  Optional conflict response type (can be ``json`` or ``xml``)
955 956
update                  Do not replace metadata (no value parameter)
956 957
======================  ============================================
957 958

  
......
989 990
==============================  ==============================
990 991
202 (Accepted)                  The request has been accepted (not a data update)
991 992
204 (No Content)                The request succeeded (data updated)
992
409 (Conflict)                  There are conflicting permissions (a list of conflicting sharing paths will be included in the reply - in simple text format)
993
409 (Conflict)                  There are conflicting permissions (a list of conflicting sharing paths will be included in the reply)
993 994
411 (Length Required)           Missing ``Content-Length`` in the request
994 995
413 (Request Entity Too Large)  Insufficient quota to complete the request
995 996
416 (Range Not Satisfiable)     The supplied range is invalid

Also available in: Unified diff