Revision cb146cf9 docs/source/devguide.rst

b/docs/source/devguide.rst
295 295
x_object_version            The object's version identifier
296 296
x_object_version_timestamp  The object's version timestamp
297 297
x_object_manifest           Object parts prefix in ``<container>/<object>`` form (optional)
298
x_object_public             Object is publicly accessible (optional)
298
x_object_public             Object is publicly accessible (optional) (**TBD**)
299 299
x_object_meta_*             Optional user defined metadata
300 300
==========================  ======================================
301 301

  
......
413 413
X-Object-Version            The object's version identifier
414 414
X-Object-Version-Timestamp  The object's version timestamp
415 415
X-Object-Manifest           Object parts prefix in ``<container>/<object>`` form (optional)
416
X-Object-Public             Object is publicly accessible (optional)
416
X-Object-Public             Object is publicly accessible (optional) (**TBD**)
417 417
X-Object-Meta-*             Optional user defined metadata
418 418
==========================  ===============================
419 419

  
......
422 422
================  ===============================
423 423
Return Code       Description
424 424
================  ===============================
425
204 (No Content)  The request succeeded
425
200 (No Content)  The request succeeded
426 426
================  ===============================
427 427

  
428 428

  
......
502 502
X-Object-Version            The object's version identifier
503 503
X-Object-Version-Timestamp  The object's version timestamp
504 504
X-Object-Manifest           Object parts prefix in ``<container>/<object>`` form (optional)
505
X-Object-Public             Object is publicly accessible (optional)
505
X-Object-Public             Object is publicly accessible (optional) (**TBD**)
506 506
X-Object-Meta-*             Optional user defined metadata
507 507
==========================  ===============================
508 508

  
......
531 531
Transfer-Encoding     Set to ``chunked`` to specify incremental uploading (if used, ``Content-Length`` is ignored)
532 532
X-Copy-From           The source path in the form ``/<container>/<object>``
533 533
X-Move-From           The source path in the form ``/<container>/<object>``
534
X-Source-Version      The source version to copy/move from
534
X-Source-Version      The source version to copy from
535 535
Content-Encoding      The encoding of the object (optional)
536 536
Content-Disposition   The presentation style of the object (optional)
537 537
X-Object-Manifest     Object parts prefix in ``<container>/<object>`` form (optional)
538
X-Object-Public       Object is publicly accessible (optional)
538
X-Object-Public       Object is publicly accessible (optional) (**TBD**)
539 539
X-Object-Meta-*       Optional user defined metadata
540 540
====================  ================================
541 541

  
......
568 568
Content-Type          The MIME content type of the object (optional)
569 569
Content-Encoding      The encoding of the object (optional)
570 570
Content-Disposition   The presentation style of the object (optional)
571
X-Source-Version      The source version to copy/move from
571
X-Source-Version      The source version to copy from
572 572
X-Object-Manifest     Object parts prefix in ``<container>/<object>`` form (optional)
573
X-Object-Public       Object is publicly accessible (optional)
573
X-Object-Public       Object is publicly accessible (optional) (**TBD**)
574 574
X-Object-Meta-*       Optional user defined metadata
575 575
====================  ================================
576 576

  
......
586 586
MOVE
587 587
""""
588 588

  
589
Same as ``COPY``.
589
Same as ``COPY``, without the ``X-Source-Version`` request header. The ``MOVE`` operation is always applied on the latest version.
590 590

  
591 591

  
592 592
POST
......
602 602
Content-Encoding      The encoding of the object (optional)
603 603
Content-Disposition   The presentation style of the object (optional)
604 604
X-Object-Manifest     Object parts prefix in ``<container>/<object>`` form (optional)
605
X-Object-Public       Object is publicly accessible (optional)
605
X-Object-Public       Object is publicly accessible (optional) (**TBD**)
606 606
X-Object-Meta-*       Optional user defined metadata
607 607
====================  ================================
608 608

  
609
The ``Content-Encoding``, ``Content-Disposition``, ``X-Object-Manifest``, ``X-Object-Public`` and ``X-Object-Meta-*`` headers are considered to be user defined metadata. The update operation will overwrite all previous values and remove any keys not supplied.
609
The ``Content-Encoding``, ``Content-Disposition``, ``X-Object-Manifest``, ``X-Object-Public`` (**TBD**) and ``X-Object-Meta-*`` headers are considered to be user defined metadata. The update operation will overwrite all previous values and remove any keys not supplied.
610 610

  
611 611
To update an object:
612 612

  
......
636 636
202 (Accepted)               The request has been accepted (not a data update)
637 637
204 (No Content)             The request succeeded (data updated)
638 638
411 (Length Required)        Missing ``Content-Length`` in the request
639
416 (Range Not Satisfiable)  The supplied range is out of limits or invalid size (**TBD**)
639
416 (Range Not Satisfiable)  The supplied range is out of limits or invalid size
640 640
===========================  ==============================
641 641

  
642 642

  
......
656 656
Public Objects
657 657
^^^^^^^^^^^^^^
658 658

  
659
Objects that are marked as public, via the ``X-Object-Public`` meta, are also available at the corresponding URI ``https://hostname/public/<account>/<container>/<object>`` for ``HEAD`` or ``GET``. Requests for public objects do not need to include an ``X-Auth-Token``. Pithos will ignore request parameters and only include the following headers in the reply (all ``X-Object-*`` meta is hidden).
659
Objects that are marked as public, via the ``X-Object-Public`` meta (**TBD**), are also available at the corresponding URI ``https://hostname/public/<account>/<container>/<object>`` for ``HEAD`` or ``GET``. Requests for public objects do not need to include an ``X-Auth-Token``. Pithos will ignore request parameters and only include the following headers in the reply (all ``X-Object-*`` meta is hidden).
660 660

  
661 661
==========================  ===============================
662 662
Reply Header Name           Value
......
682 682
* All metadata replies, at all levels, include latest modification information.
683 683
* At all levels, a ``GET`` request may use ``If-Modified-Since`` and ``If-Unmodified-Since`` headers.
684 684
* Container/object lists include all associated metadata if the reply is of type json/xml. Some names are kept to their OOS API equivalents for compatibility. 
685
* Object metadata allowed, in addition to ``X-Object-Meta-*``: ``Content-Encoding``, ``Content-Disposition``, ``X-Object-Manifest``, ``X-Object-Public``. These are all replaced with every update operation.
685
* Object metadata allowed, in addition to ``X-Object-Meta-*``: ``Content-Encoding``, ``Content-Disposition``, ``X-Object-Manifest``, ``X-Object-Public`` (**TBD**). These are all replaced with every update operation.
686 686
* Multi-range object GET support as outlined in RFC2616.
687 687
* Object hashmap retrieval through GET and the ``format`` parameter.
688 688
* Partial object updates through POST, using the ``Content-Length``, ``Content-Type``, ``Content-Range`` and ``Transfer-Encoding`` headers.
689 689
* Object ``MOVE`` support.
690 690
* Time-variant account/container listings via the ``until`` parameter.
691
* Object versions - parameter ``version`` in HEAD/GET (list versions with GET), ``X-Object-Version-*`` meta in replies, ``X-Source-Version`` in PUT/COPY/MOVE.
692
* Publicly accessible objects via ``https://hostname/public``. Control with ``X-Object-Public``.
691
* Object versions - parameter ``version`` in HEAD/GET (list versions with GET), ``X-Object-Version-*`` meta in replies, ``X-Source-Version`` in PUT/COPY.
692
* Publicly accessible objects via ``https://hostname/public``. Control with ``X-Object-Public`` (**TBD**).
693 693
* Large object support with ``X-Object-Manifest``.
694 694

  
695 695
Clarifications/suggestions:

Also available in: Unified diff