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