)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"1e106cf19d1cbbcd142946e139ebbd7516aedc72","unresolved":false,"context_lines":[{"line_number":20,"context_line":"These items should be part of the https://review.openstack.org/#/c/64579/"},{"line_number":21,"context_line":"review, which I\u0027m still working on."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Co-Author: Donagh McCabe"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Partial-Bug: #1187119"},{"line_number":26,"context_line":"Partial-Bug: #1214139"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":53,"id":"AAAAUH%2F%2BPWA%3D","line":23,"updated":"2014-01-28 19:27:06.000000000","message":"According to https://wiki.openstack.org/wiki/GitCommitMessages, use:\n\nCo-Authored-By: name \u003cname@example.org\u003e","commit_id":"180422599cbd1dc57bfa9023b1805e2e71479a04"}],"api-ref/src/docbkx/ch_objectstorage-v1.xml":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":32,"context_line":"                    endpoints\u003c/code\u003e command. The public URL is the"},{"line_number":33,"context_line":"                HTTP endpoint from where you can access swift. It includes"},{"line_number":34,"context_line":"                the Object Storage API version number and your account"},{"line_number":35,"context_line":"                name. For example,"},{"line_number":36,"context_line":"                    \u003ccode\u003ehttp://23.253.72.207:8080/v1/my_account\u003c/code\u003e.\u003c/para\u003e"},{"line_number":37,"context_line":"        \u003c/listitem\u003e"},{"line_number":38,"context_line":"        \u003clistitem\u003e"}],"source_content_type":"application/xml","patch_set":37,"id":"AAAAUH%2F%2B98I%3D","line":35,"updated":"2014-01-20 12:23:38.000000000","message":"Example needs to be https (and or 443),\nso\n\n    https://23.253.72.207/v1/my_account","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \u003c/listitem\u003e"},{"line_number":38,"context_line":"        \u003clistitem\u003e"},{"line_number":39,"context_line":"            \u003cpara\u003e\u003cliteral\u003etoken\u003c/literal\u003e. The authentication token"},{"line_number":40,"context_line":"                for swift.\u003c/para\u003e"},{"line_number":41,"context_line":"            \u003cpara\u003eTo obtain this token, run the \u003ccode\u003eswift --debug"},{"line_number":42,"context_line":"                    list\u003c/code\u003e command. The token appears in the"},{"line_number":43,"context_line":"                    \u003ccode\u003eX-Auth-Token\u003c/code\u003e header.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":37,"id":"AAAAUH%2F%2B97Y%3D","line":40,"updated":"2014-01-20 12:23:38.000000000","message":"--debug does not work. Instead use:\n\n    swift stat -v\n\nHere\u0027s an example of output (where token is redacted):\n\n    StorageURL: https://region-a.geo-1.objects.hpcloudsvc.com/v1/87135022548315\n    Auth Token: 1234\n       Account: 87135022548315\n       Containers: 19841\n       Objects: 21350\n       Bytes: 3044383458\n       Meta Three: 3\n       Meta One: 1\n       Meta Foo: bar\n       Meta Two: 1\n    X-Timestamp: 1315238406.24927\n    X-Trans-Id: tx242f361bbb9b47dea0bca-0052dcefcf\n    Content-Type: text/plain; charset\u003dutf-8\n    Accept-Ranges: bytes\n\nBTW: it provides an alternate way of getting the publicURL -- but since it calls it StorageURL, the nova endpoints command is probably better.","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    \u003citemizedlist\u003e"},{"line_number":28,"context_line":"        \u003clistitem\u003e"},{"line_number":29,"context_line":"            \u003cpara\u003e\u003cliteral\u003epublicURL\u003c/literal\u003e. The public URL for"},{"line_number":30,"context_line":"                swift.\u003c/para\u003e"},{"line_number":31,"context_line":"            \u003cpara\u003eTo obtain this URL, run the \u003ccode\u003enova"},{"line_number":32,"context_line":"                    endpoints\u003c/code\u003e command. The public URL is the"},{"line_number":33,"context_line":"                HTTP endpoint from where you can access swift. It"}],"source_content_type":"application/xml","patch_set":43,"id":"AAAAUH%2F%2B1kw%3D","line":30,"updated":"2014-01-21 18:00:39.000000000","message":"change \"swift\" to \"Object Storage\"","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                swift.\u003c/para\u003e"},{"line_number":31,"context_line":"            \u003cpara\u003eTo obtain this URL, run the \u003ccode\u003enova"},{"line_number":32,"context_line":"                    endpoints\u003c/code\u003e command. The public URL is the"},{"line_number":33,"context_line":"                HTTP endpoint from where you can access swift. It"},{"line_number":34,"context_line":"                includes the Object Storage API version number and"},{"line_number":35,"context_line":"                your account name. For example,"},{"line_number":36,"context_line":"                    \u003ccode\u003ehttps://23.253.72.207/v1/my_account\u003c/code\u003e.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":43,"id":"AAAAUH%2F%2B1ks%3D","line":33,"updated":"2014-01-21 18:00:39.000000000","message":"dito","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \u003c/listitem\u003e"},{"line_number":38,"context_line":"        \u003clistitem\u003e"},{"line_number":39,"context_line":"            \u003cpara\u003e\u003cliteral\u003etoken\u003c/literal\u003e. The authentication token"},{"line_number":40,"context_line":"                for swift.\u003c/para\u003e"},{"line_number":41,"context_line":"            \u003cpara\u003eTo obtain this token, run the \u003ccode\u003eswift stat"},{"line_number":42,"context_line":"                    -v\u003c/code\u003e command.\u003c/para\u003e"},{"line_number":43,"context_line":"            \u003cpara\u003eAs shown in this example, the token appears in the"}],"source_content_type":"application/xml","patch_set":43,"id":"AAAAUH%2F%2B1kk%3D","line":40,"updated":"2014-01-21 18:00:39.000000000","message":"dito","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            \u003cpara\u003e\u003cliteral\u003epublicURL\u003c/literal\u003e. The public URL for"},{"line_number":30,"context_line":"                Object Storage.\u003c/para\u003e"},{"line_number":31,"context_line":"            \u003cpara\u003eTo obtain this URL, run the \u003ccode\u003enova"},{"line_number":32,"context_line":"                    endpoints\u003c/code\u003e command. The public URL is the"},{"line_number":33,"context_line":"                HTTP endpoint from where you can access Object Storage. It"},{"line_number":34,"context_line":"                includes the Object Storage API version number and"},{"line_number":35,"context_line":"                your account name. For example,"}],"source_content_type":"application/xml","patch_set":49,"id":"AAAAUH%2F%2BnJA%3D","line":32,"updated":"2014-01-23 23:01:49.000000000","message":"\"nova endpoints\" seems unlikely to find the Swift endpoint. I could be wrong though.\n\nIf nothing else, this won\u0027t work on a standalone Swift cluster in an environment where you don\u0027t have Nova.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"            \u003cpara\u003e\u003cliteral\u003epublicURL\u003c/literal\u003e. The public URL for"},{"line_number":30,"context_line":"                Object Storage.\u003c/para\u003e"},{"line_number":31,"context_line":"            \u003cpara\u003eTo obtain this URL, run the \u003ccode\u003enova"},{"line_number":32,"context_line":"                    endpoints\u003c/code\u003e command. The public URL is the"},{"line_number":33,"context_line":"                HTTP endpoint from where you can access Object Storage. It"},{"line_number":34,"context_line":"                includes the Object Storage API version number and"},{"line_number":35,"context_line":"                your account name. For example,"}],"source_content_type":"application/xml","patch_set":49,"id":"AAAAUH%2F%2BiVA%3D","line":32,"in_reply_to":"AAAAUH%2F%2BnJA%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"}],"api-ref/src/wadls/object-api/src/common.ent":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    \u003crepresentation mediaType\u003d\"application/xml\""},{"line_number":29,"context_line":"        element\u003d\"csapi:unauthorized\"/\u003e"},{"line_number":30,"context_line":"    \u003crepresentation mediaType\u003d\"application/json\"/\u003e"},{"line_number":31,"context_line":"\u003c/response\u003e\u0027\u003e"},{"line_number":32,"context_line":"\u003c!ENTITY fault403 \u0027 "},{"line_number":33,"context_line":"\u003cresponse status\u003d\"403\" xmlns\u003d\"http://wadl.dev.java.net/2009/02\"\u003e"},{"line_number":34,"context_line":"    \u003crepresentation mediaType\u003d\"application/xml\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fodg%3D","line":31,"updated":"2014-01-10 16:39:41.000000000","message":"nit: whitspace","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":78,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":79,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":80,"context_line":"        xml:lang\u003d\"EN\"\u003e"},{"line_number":81,"context_line":"        \u003cpara\u003eAuthentication token.\u003c/para\u003e"},{"line_number":82,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":83,"context_line":"\u003c/param\u003e\u0027\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FmZ8%3D","line":80,"updated":"2014-01-10 16:39:41.000000000","message":"It\u0027s probably worth explaining why this is optional:\n\n    Authentication token. If you omit this header, your request will fail unless the account\n    owner has granted you access via an ACL.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            The value is in form \u003ccode\u003e{container}/{object}\u003c/code\u003e."},{"line_number":186,"context_line":"            You must UTF-8-encode and then URL-encode the names of the"},{"line_number":187,"context_line":"            container and object before you include them in the"},{"line_number":188,"context_line":"            header.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":189,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":190,"context_line":"\u003c!ENTITY delete-after-requestHeader \u0027"},{"line_number":191,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FmXU%3D","line":188,"updated":"2014-01-10 16:39:41.000000000","message":"Suggest we add a reference to the COPY object method; maybe something like:\n\n    Using PUT with X-Copy-From has the same effect as using the COPY operation to copy an object.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":192,"context_line":"    name\u003d\"X-Delete-After\" style\u003d\"header\" required\u003d\"false\""},{"line_number":193,"context_line":"    type\u003d\"xsd:int\"\u003e"},{"line_number":194,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":195,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":196,"context_line":"        xml:lang\u003d\"EN\"\u003e\u003cpara\u003eThe certain date, in the"},{"line_number":197,"context_line":"format of a UNIX Epoch timestamp, after which"},{"line_number":198,"context_line":"the object is removed.\u003c/para\u003e\u003c/wadl:doc\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fmcw%3D","line":195,"updated":"2014-01-10 16:39:41.000000000","message":"Change to:\n\n    Specifies the number of seconds after which the object is removed.\n    Internally, the Object Storage system stores this in the X-Delete-At\n    metadata item.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":222,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"ETag\""},{"line_number":223,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":224,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":225,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":226,"context_line":"            \u003e\u003cpara\u003eFor objects smaller than 5 GB, this value is the"},{"line_number":227,"context_line":"            MD5 checksum of the object content. The value is not"},{"line_number":228,"context_line":"            quoted. For manifest objects, this value is the MD5"}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fma8%3D","line":225,"updated":"2014-01-10 16:39:41.000000000","message":"The request ETag is slightly different than the response ETag (because you can\u0027t upload large objects directly). I suggest this instead:\n\n    This is the value of the MD5 checksum of the request body (i.e., of the object content).\n    You are strongly recommended to compute the MD5 checksum of object coontent\n    and include it in the request. This allows the Object Storage system to check\n    the integrity of the upload.\n\n    The value is not quoted.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":490,"context_line":"            \u003e\u003cpara\u003eGiven a string value \u003creplaceable\u003ex\u003c/replaceable\u003e,"},{"line_number":491,"context_line":"            returns container names greater in value than the"},{"line_number":492,"context_line":"            specified marker.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":493,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":494,"context_line":"\u003c!ENTITY multipart-manifest-requestParameter \u0027"},{"line_number":495,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":496,"context_line":"    name\u003d\"multipart-manifest\" style\u003d\"query\" required\u003d\"false\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fng4%3D","line":493,"updated":"2014-01-10 16:39:41.000000000","message":"You need to create three entities:\n\nmultipart-manifest-put-requestParameter\nmultipart-manifest-get-requestParameter\nmultipart-manifest-delete-requestParameter\n\nEach with own description. Note I use \"put\", not \u0026PUT; as it\u0027s the literal string e.g ?multipart-manifest\u003dput and looking at the code, it must be lowercase.\n\nmultipart-manifest-put-requestParameter:\n\"If set to \"put\", the object is a static large object manifest and the body contains the manifest.\"\n\nmultipart-manifest-get-requestParameter\n\"If set to \"get\" and the object is a static large object, the body contains the manifest; not the object contents.\"\n\nmultipart-manifest-delete-requestParameter\n\"If set to \"delete\" and the object is a static large object, the segments objects are deleted and when this is successful, the manifest object is deleted. \n\nIf ?multipart-manifest\u003ddelete is not used and this is a static large object, the manifest object is deleted; the segment objects are not deleted\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":502,"context_line":"            manifest.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":503,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":504,"context_line":"\u003c!ENTITY path-requestParameter \u0027"},{"line_number":505,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"path\""},{"line_number":506,"context_line":"    style\u003d\"query\" required\u003d\"false\" type\u003d\"xsd:char\"\u003e"},{"line_number":507,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":508,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fnc0%3D","line":505,"updated":"2014-01-10 16:39:41.000000000","message":"type\u003dxsd:string (not char)","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":564,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":565,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":566,"context_line":"\u003c!ENTITY account-meta-temp-url-key-responseHeader \u0027"},{"line_number":567,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":568,"context_line":"    name\u003d\"X-Account-Meta-Temp-URL-Key\" style\u003d\"header\" required\u003d\"true\""},{"line_number":569,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":570,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fnuk%3D","line":567,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse (if not set, the header is not returned by get/head /account)","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":574,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":575,"context_line":"\u003c!ENTITY account-meta-temp-url-key-2-responseHeader \u0027"},{"line_number":576,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":577,"context_line":"    name\u003d\"X-Account-Meta-Temp-URL-Key-2\" style\u003d\"header\""},{"line_number":578,"context_line":"    required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":579,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":580,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fnug%3D","line":577,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":609,"context_line":"        objects.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":610,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":611,"context_line":"\u003c!ENTITY container-read-responseHeader \u0027"},{"line_number":612,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":613,"context_line":"    name\u003d\"X-Container-Read\" style\u003d\"header\" required\u003d\"true\""},{"line_number":614,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":615,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fnts%3D","line":612,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse\nif not set, it\u0027s not retuned by GET/HEAD /account","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":619,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":620,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":621,"context_line":"\u003c!ENTITY container-sync-to-responseHeader \u0027"},{"line_number":622,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":623,"context_line":"    name\u003d\"X-Container-Sync-To\" style\u003d\"header\" required\u003d\"true\""},{"line_number":624,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":625,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fntc%3D","line":622,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":629,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":630,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":631,"context_line":"\u003c!ENTITY container-sync-key-responseHeader \u0027"},{"line_number":632,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":633,"context_line":"    name\u003d\"X-Container-Sync-Key\" style\u003d\"header\" required\u003d\"true\""},{"line_number":634,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":635,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FntU%3D","line":632,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":639,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":640,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":641,"context_line":"\u003c!ENTITY container-write-responseHeader \u0027"},{"line_number":642,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":643,"context_line":"    name\u003d\"X-Container-Write\" style\u003d\"header\" required\u003d\"true\""},{"line_number":644,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":645,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FntM%3D","line":642,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":649,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":650,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":651,"context_line":"\u003c!ENTITY container-meta-name-responseHeader \u0027"},{"line_number":652,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":653,"context_line":"    name\u003d\"X-Container-Meta-name\" style\u003d\"header\" required\u003d\"true\""},{"line_number":654,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":655,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fnso%3D","line":652,"updated":"2014-01-10 16:39:41.000000000","message":"Should this be name\u003d\"X-Container-Meta-{name}\"...so that it matches the description?\n\nThe same comment applies to X-Account-Mata-{name} and to both the request and response headers.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":657,"context_line":"            \u003e\u003cpara\u003eThe custom container metadata item, where"},{"line_number":658,"context_line":"                \u003ccode\u003e{name}\u003c/code\u003e is the name of the metadata"},{"line_number":659,"context_line":"            item.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":660,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":661,"context_line":"\u003c!ENTITY content-disposition-responseHeader \u0027"},{"line_number":662,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fnrw%3D","line":659,"updated":"2014-01-10 16:39:41.000000000","message":"Can we add something like \"There is one response header for each metadata (i.e., for each {name})\"\n\nThe same comment applies to X-Container-Meta-{name} for all the custom metadata for GET, HEAD, PUT and POST i.e., you set each metadata item with its own request header and the response contains a response header for each custom metadata item.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":659,"context_line":"            item.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":660,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":661,"context_line":"\u003c!ENTITY content-disposition-responseHeader \u0027"},{"line_number":662,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":663,"context_line":"    name\u003d\"Content-Disposition\" style\u003d\"header\" required\u003d\"true\""},{"line_number":664,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":665,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FmkE%3D","line":662,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":670,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":671,"context_line":"\u003c!ENTITY content-encoding-responseHeader \u0027"},{"line_number":672,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":673,"context_line":"    name\u003d\"Content-Encoding\" style\u003d\"header\""},{"line_number":674,"context_line":"    required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":675,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":676,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FnqU%3D","line":673,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":704,"context_line":"the object is removed.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":705,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":706,"context_line":"\u003c!ENTITY delete-at-responseHeader \u0027"},{"line_number":707,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Delete-At\""},{"line_number":708,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":709,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":710,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2Fmj4%3D","line":707,"updated":"2014-01-10 16:39:41.000000000","message":"required\u003dfalse","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":749,"context_line":"            \u003e\u003cpara\u003eThe container metadata, where \u003ccode\u003e{name}\u003c/code\u003e"},{"line_number":750,"context_line":"            is the name of the metadata item.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":751,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":752,"context_line":"\u003c!ENTITY static-large-object-responseHeader \u0027"},{"line_number":753,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"Content-Type\""},{"line_number":754,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"xsd:bool\"\u003e"},{"line_number":755,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":13,"id":"AAAAUH%2F%2FmkY%3D","line":752,"updated":"2014-01-10 16:39:41.000000000","message":"should be:   name\u003d\"X-Static-Large-Object\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":791,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":792,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":793,"context_line":"            \u003e\u003cpara\u003eThe size of the object content in the response"},{"line_number":794,"context_line":"            body, in bytes.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":795,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":796,"context_line":"\u003c!ENTITY content-type-responseHeader \u0027"},{"line_number":797,"context_line":" \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"text/html","patch_set":37,"id":"AAAAUH%2F%2B9nc%3D","line":794,"updated":"2014-01-20 12:23:38.000000000","message":"The above two (content-length-responseHeader and content-type-responseHeader-HEAD) only apply to GET object operation.\n\nNeed to add the following:\n\ncontent-length-responseHeader-NAMES -- used for GET account/container, description is:\n\n    The length of the response body containing the list if names. If the operation failed, this is the length of the error text in the response body.\n\n\ncontent-length-responseHeader-OP - used for POST, DELETE, HEAD ops\n\n    If successful, this is zero. If the operation fails, this is the length of the error text in the response body.","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":799,"context_line":"    required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":800,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":801,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":802,"context_line":"        xml:lang\u003d\"EN\"\u003e\u003cpara\u003eThe MIME type for the object.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":803,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":804,"context_line":"\u003c!ENTITY copied-from-responseHeader \u0027"},{"line_number":805,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Copied-From\""}],"source_content_type":"text/html","patch_set":37,"id":"AAAAUH%2F%2B9mk%3D","line":802,"updated":"2014-01-20 12:23:38.000000000","message":"content-type-responseHeader only applies to GET object\n\nNeed to add the following:\n\ncontent-type-responseHeader-NAMES -- used for GET account/container:\n\n    The MIME type of the list of names. If the operation failed, this is the MIME type of the error text in the response body.\n\ncontent-type-responseHeader-OP -- used for POST/DELETE\n\n    If the operation fails, this is the MIME type of the error text in the response body.","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":919,"context_line":"    name\u003d\"X-Trans-Id\" style\u003d\"header\" required\u003d\"true\""},{"line_number":920,"context_line":"    type\u003d\"csapi:uuid\"\u003e"},{"line_number":921,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":922,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":923,"context_line":"        xml:lang\u003d\"EN\"\u003e\u003cpara\u003eThe transaction ID.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":924,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":925,"context_line":"\u003c!ENTITY versions-location-responseHeader \u0027"}],"source_content_type":"text/html","patch_set":37,"id":"AAAAUH%2F%2B9Y8%3D","line":922,"updated":"2014-01-20 12:23:38.000000000","message":"Suggested description:\n\n     \u003cpara\u003eA unique transaction identifier of this request. This may be useful to your service provider if you need to report a problem.\u003c/para\u003e","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":966,"context_line":"    name\u003d\"hash\" style\u003d\"plain\" required\u003d\"true\""},{"line_number":967,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":968,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":969,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":970,"context_line":"        \u003cpara\u003eThe hash value of the data in the object.\u003c/para\u003e"},{"line_number":971,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":972,"context_line":"\u003c/param\u003e"}],"source_content_type":"text/html","patch_set":37,"id":"AAAAUH%2F%2B9Sk%3D","line":969,"updated":"2014-01-20 12:23:38.000000000","message":"Needs to match ETag description:\n\n    The value is the MD5 checksum of the object content.","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"\u003c/response\u003e\u0027\u003e"},{"line_number":38,"context_line":"\u003c!ENTITY fault404 \u0027"},{"line_number":39,"context_line":"\u003cresponse status\u003d\"404\" xmlns\u003d\"http://wadl.dev.java.net/2009/02\"\u003e"},{"line_number":40,"context_line":"    \u003crepresentation mediaType\u003d\"application/xml\""},{"line_number":41,"context_line":"        element\u003d\"csapi:notfound\"/\u003e"},{"line_number":42,"context_line":"    \u003crepresentation mediaType\u003d\"application/json\"/\u003e"},{"line_number":43,"context_line":"\u003c/response\u003e\u0027\u003e"}],"source_content_type":"text/html","patch_set":40,"id":"AAAAUH%2F%2B7Yo%3D","line":40,"updated":"2014-01-20 18:31:25.000000000","message":"This renders as \"notfound (404)\", whereas the 409 code (below) renders as \"Conflict (409).\n\nAre these supposed to be human readable? If so, 404 should render as \"Not Found (404)\".\n\nIf not, to be consistent with elsewhere in this file, 404 should be \"notFound\" instead of all lowercase","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":704,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":705,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":706,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":707,"context_line":"        xml:lang\u003d\"EN\"\u003e"},{"line_number":708,"context_line":"        \u003cpara\u003eSets an ACL that grants read access. If not set,"},{"line_number":709,"context_line":"            this header is not returned by this operation.\u003c/para\u003e"},{"line_number":710,"context_line":"    \u003c/wadl:doc\u003e"}],"source_content_type":"text/html","patch_set":40,"id":"AAAAUH%2F%2B7R4%3D","line":707,"updated":"2014-01-20 18:31:25.000000000","message":"This is the response header so it\u0027s not setting anything. Instead of \"Sets an ACL that...\", it should be \"\"The ACL that...\"\n\nThis comment also applies to \n\n    container-sync-to-responseHeader\n    container-sync-key-responseHeader\n    container-write-responseHeader","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":85,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":86,"context_line":"\u003c!ENTITY account-meta-name-requestHeader \u0027"},{"line_number":87,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":88,"context_line":"    name\u003d\"X-Account-Meta-name\" style\u003d\"header\" required\u003d\"false\""},{"line_number":89,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":90,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B1eM%3D","line":87,"updated":"2014-01-21 18:00:39.000000000","message":"Is it possible to put name in \"{}\", as in:\n\n    name\u003d\"X-Account-Meta-{name}\"\n\nIt would link this better to the descriptive text here and elsewhere in the document.\n\nIf you make this change, also update the x-account-meta-responseHeader and x-container-meta-* and x-object-meta-*","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":280,"context_line":"            in this header.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":281,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":282,"context_line":"\u003c!ENTITY ETag-requestHeader \u0027"},{"line_number":283,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"ETag\""},{"line_number":284,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":285,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":286,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B05g%3D","line":283,"updated":"2014-01-21 18:00:39.000000000","message":"required\u003d\"false\"","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":529,"context_line":"            To disable versioning, set the header to an empty"},{"line_number":530,"context_line":"            string.\u003c/para\u003e"},{"line_number":531,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":532,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":533,"context_line":"\u003c!--! Request parameters  --\u003e"},{"line_number":534,"context_line":"\u003c!ENTITY delimiter-requestParameter \u0027"},{"line_number":535,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"delimiter\""}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B08c%3D","line":532,"updated":"2014-01-21 18:00:39.000000000","message":"Add \n\n    \u003c!ENTITY object-manifest-requestHeader \u0027\n    \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\"\n        name\u003d\"X-Object-Manifest\" style\u003d\"header\" required\u003d\"false\"\n        type\u003d\"xsd:string\"\u003e\n        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\"\n            xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e\n            \u003cpara\u003eSet to specify that this is a dynamic large object manifest object.\n                The value is the container and object name prefix of the segment objects\n                 in the form of container/prefix. You must UTF-8-encode and then\n                 URL-encode the names of the container and prefix before you\n                 include them in this header.\u003c/para\u003e\n        \u003c/wadl:doc\u003e\n    \u003c/param\u003e\u0027\u003e","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":812,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":813,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":814,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":815,"context_line":"            \u003e\u003cpara\u003eThe size of the object content in the response"},{"line_number":816,"context_line":"            body, in bytes.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":817,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":818,"context_line":"\u003c!ENTITY content-length-responseHeader-NAMES \u0027"}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B1nQ%3D","line":815,"updated":"2014-01-21 18:00:39.000000000","message":"Change this to:\n\n\u0026HEAD; operations do not return content. However, in this\noperation the \u003ccode\u003eContent-Length\u003c/code\u003e does not represent the size of\nthe response body. Instead it contains the size of the object, in bytes.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":927,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"xsd:string\"\u003e"},{"line_number":928,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":929,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":930,"context_line":"            \u003e\u003cpara\u003eFor objects smaller than 5 GB, this value is the"},{"line_number":931,"context_line":"            MD5 checksum of the copied object content. The value is not"},{"line_number":932,"context_line":"            quoted.\u003c/para\u003e"},{"line_number":933,"context_line":"        \u003cpara\u003eFor manifest objects, this value is the MD5 checksum of"}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B0x8%3D","line":930,"updated":"2014-01-21 18:00:39.000000000","message":"Remove the \"For objects smaller than 5GB,\"\n\nDelete the next two paras (about manifest and comparing)\n\nReason: COPY only works on small objects. It does the ETag compare so there is nothing the client can or needs to do.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":954,"context_line":"            same.\u003c/para\u003e"},{"line_number":955,"context_line":"        \u003cpara\u003eIf you did not supply an \u003ccode\u003eETag\u003c/code\u003e request"},{"line_number":956,"context_line":"            header, check the \u003ccode\u003eETag\u003c/code\u003e response header value"},{"line_number":957,"context_line":"            against the object content you have just uploaded. For"},{"line_number":958,"context_line":"            static large objects, this value is the MD5 checksum of"},{"line_number":959,"context_line":"            the concatenated string of MD5 checksums and ETags for"},{"line_number":960,"context_line":"            each of the segments in the manifest, and not the MD5"}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B0xQ%3D","line":957,"updated":"2014-01-21 18:00:39.000000000","message":"Put para break starting with \"For static large objects...\"\n\nReason: the first 3 paras are about small objects; (not quoted, values same, advise to check). The final bit is about large objects and the user cannot do the same checking.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":993,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":994,"context_line":"            \u003e\u003cpara\u003eSet to \u003ccode\u003eTrue\u003c/code\u003e if this object is a static"},{"line_number":995,"context_line":"            large object manifest object.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":996,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":997,"context_line":"\u003c!ENTITY trans-id-responseHeader \u0027"},{"line_number":998,"context_line":"\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Trans-Id\""},{"line_number":999,"context_line":"    style\u003d\"header\" required\u003d\"true\" type\u003d\"csapi:uuid\"\u003e"}],"source_content_type":"text/html","patch_set":43,"id":"AAAAUH%2F%2B07w%3D","line":996,"updated":"2014-01-21 18:00:39.000000000","message":"Add \n\n    \u003c!ENTITY object-manifest-responseHeader \u0027\n    \u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\"\n        name\u003d\"X-Object-Manifest\" style\u003d\"header\" required\u003d\"false\"\n        type\u003d\"xsd:string\"\u003e\n        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\"\n            xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e\n            \u003cpara\u003eIf set, to this is a dynamic large object manifest object.\n                The value is the container and object name prefix of the segment objects\n                 in the form of container/prefix.\u003c/para\u003e\n        \u003c/wadl:doc\u003e\n    \u003c/param\u003e\u0027\u003e","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    required\u003d\"false\" type\u003d\"xsd:string\"\u003e"},{"line_number":90,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":91,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":92,"context_line":"        \u003cpara\u003eA second secret key value for temporary URLs.\u003c/para\u003e"},{"line_number":93,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":94,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":95,"context_line":"\u003c!ENTITY auth-token-requestHeader-optional \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Auth-Token\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BnEw%3D","line":92,"updated":"2014-01-23 23:01:49.000000000","message":"Might be nice to mention something here about key rotation; that is why Swift supports two keys.\n\nNot necessary, just nice.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    required\u003d\"false\" type\u003d\"xsd:string\"\u003e"},{"line_number":90,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":91,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":92,"context_line":"        \u003cpara\u003eA second secret key value for temporary URLs.\u003c/para\u003e"},{"line_number":93,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":94,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":95,"context_line":"\u003c!ENTITY auth-token-requestHeader-optional \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Auth-Token\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiS0%3D","line":92,"in_reply_to":"AAAAUH%2F%2BnEw%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"738cba1efa2d2e820f746d1072ca4c1ac12870ab","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":91,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":92,"context_line":"        \u003cpara\u003eA second secret key value for temporary URLs.\u003c/para\u003e"},{"line_number":93,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":94,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":95,"context_line":"\u003c!ENTITY auth-token-requestHeader-optional \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Auth-Token\""},{"line_number":96,"context_line":"    style\u003d\"header\" required\u003d\"false\" type\u003d\"xsd:string\"\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bj6M%3D","line":93,"updated":"2014-01-24 12:47:45.000000000","message":"To address this comment, add something like:\n\n    The second key allows you to \"rotate\" keys by having an old and new key active at the same time.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":91,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":92,"context_line":"        \u003cpara\u003eA second secret key value for temporary URLs.\u003c/para\u003e"},{"line_number":93,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":94,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":95,"context_line":"\u003c!ENTITY auth-token-requestHeader-optional \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\" name\u003d\"X-Auth-Token\""},{"line_number":96,"context_line":"    style\u003d\"header\" required\u003d\"false\" type\u003d\"xsd:string\"\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiS4%3D","line":93,"in_reply_to":"AAAAUH%2F%2Bj6M%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":99,"context_line":"        \u003cpara\u003eAuthentication token. If you omit this header, your"},{"line_number":100,"context_line":"            request fails unless the account owner has granted you"},{"line_number":101,"context_line":"            access through an access control list (ACL).\u003c/para\u003e"},{"line_number":102,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":103,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":104,"context_line":"\u003c!ENTITY auth-token-requestHeader-required \u0027"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BnEM%3D","line":101,"updated":"2014-01-23 23:01:49.000000000","message":"I\u0027m not sure you *can* make an account public through an ACL. Containers, yes, but I\u0027ve never seen it for accounts.\n\nOTOH, auth systems are pluggable, so... maybe?","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":99,"context_line":"        \u003cpara\u003eAuthentication token. If you omit this header, your"},{"line_number":100,"context_line":"            request fails unless the account owner has granted you"},{"line_number":101,"context_line":"            access through an access control list (ACL).\u003c/para\u003e"},{"line_number":102,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":103,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":104,"context_line":"\u003c!ENTITY auth-token-requestHeader-required \u0027"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiSo%3D","line":101,"in_reply_to":"AAAAUH%2F%2Bj5I%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":99,"context_line":"        \u003cpara\u003eAuthentication token. If you omit this header, your"},{"line_number":100,"context_line":"            request fails unless the account owner has granted you"},{"line_number":101,"context_line":"            access through an access control list (ACL).\u003c/para\u003e"},{"line_number":102,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":103,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":104,"context_line":"\u003c!ENTITY auth-token-requestHeader-required \u0027"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiSw%3D","line":101,"in_reply_to":"AAAAUH%2F%2BnEM%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"738cba1efa2d2e820f746d1072ca4c1ac12870ab","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":99,"context_line":"        \u003cpara\u003eAuthentication token. If you omit this header, your"},{"line_number":100,"context_line":"            request fails unless the account owner has granted you"},{"line_number":101,"context_line":"            access through an access control list (ACL).\u003c/para\u003e"},{"line_number":102,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":103,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":104,"context_line":"\u003c!ENTITY auth-token-requestHeader-required \u0027"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bj5I%3D","line":101,"in_reply_to":"AAAAUH%2F%2BnEM%3D","updated":"2014-01-24 12:47:45.000000000","message":"There are two x-auth-token entities here; this one is required\u003dfalse and the one below is required\u003doptional. The document uses different ones on different operations (e.g., the \"required\" version is used on account ops; whereas the \"optional\" one is used on some container ops.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":424,"context_line":"            item to remove.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":425,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":426,"context_line":"\u003c!ENTITY remove-container-read-requestHeader \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":427,"context_line":"    name\u003d\"X-Remove-Container-Read\" style\u003d\"header\" required\u003d\"false\""},{"line_number":428,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":429,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":430,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm%2B4%3D","line":427,"updated":"2014-01-23 23:01:49.000000000","message":"Is it necessary to document all of these? They all follow the same pattern: X-Remove-$thing: $value is equivalent to X-$thing: \"\"","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":424,"context_line":"            item to remove.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":425,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":426,"context_line":"\u003c!ENTITY remove-container-read-requestHeader \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":427,"context_line":"    name\u003d\"X-Remove-Container-Read\" style\u003d\"header\" required\u003d\"false\""},{"line_number":428,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":429,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":430,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiP0%3D","line":427,"in_reply_to":"AAAAUH%2F%2Bm%2B4%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"738cba1efa2d2e820f746d1072ca4c1ac12870ab","unresolved":false,"context_lines":[{"line_number":425,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":426,"context_line":"\u003c!ENTITY remove-container-read-requestHeader \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":427,"context_line":"    name\u003d\"X-Remove-Container-Read\" style\u003d\"header\" required\u003d\"false\""},{"line_number":428,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":429,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":430,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":431,"context_line":"        xml:lang\u003d\"EN\"\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bjqw%3D","line":428,"updated":"2014-01-24 12:47:45.000000000","message":"Sam: does every (end-user settable) metadata item now have a \"remove\" version? I can for example, find where x-remove-versions-location is done, but I can\u0027t find where (or if) x-remove-container-sync-key is done.\n\nIf every single case is covered, then I agree, it would reduce clutter by having a single entity such as:\n\n   X-Container-Remove-{metadata-item}   - removes the metadata item named\n                         in {{metadata-item}. For example, X-Remove-Container-Read\n                         removes the X-Container-Read metadata item.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":425,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":426,"context_line":"\u003c!ENTITY remove-container-read-requestHeader \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":427,"context_line":"    name\u003d\"X-Remove-Container-Read\" style\u003d\"header\" required\u003d\"false\""},{"line_number":428,"context_line":"    type\u003d\"xsd:string\"\u003e"},{"line_number":429,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":430,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":431,"context_line":"        xml:lang\u003d\"EN\"\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiPw%3D","line":428,"in_reply_to":"AAAAUH%2F%2Bjqw%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":512,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":513,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":514,"context_line":"            \u003e\u003cpara\u003eThe serialized response format. Either"},{"line_number":515,"context_line":"                \u003ccode\u003ejson\u003c/code\u003e or \u003ccode\u003exml\u003c/code\u003e.\u003c/para\u003e\u003cpara\u003eIf"},{"line_number":516,"context_line":"            you append the \u003ccode\u003eformat\u003dxml\u003c/code\u003e or"},{"line_number":517,"context_line":"                \u003ccode\u003eformat\u003djson\u003c/code\u003e argument to the storage"},{"line_number":518,"context_line":"            account URL, the service serves extended container"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm9g%3D","line":515,"updated":"2014-01-23 23:01:49.000000000","message":"\"plain\" is also a legal value here, as well as being the default.\n\nMight be worth mentioning that \"plain\" format is simply the container names separated by newlines.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":512,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":513,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":514,"context_line":"            \u003e\u003cpara\u003eThe serialized response format. Either"},{"line_number":515,"context_line":"                \u003ccode\u003ejson\u003c/code\u003e or \u003ccode\u003exml\u003c/code\u003e.\u003c/para\u003e\u003cpara\u003eIf"},{"line_number":516,"context_line":"            you append the \u003ccode\u003eformat\u003dxml\u003c/code\u003e or"},{"line_number":517,"context_line":"                \u003ccode\u003eformat\u003djson\u003c/code\u003e argument to the storage"},{"line_number":518,"context_line":"            account URL, the service serves extended container"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiNs%3D","line":515,"in_reply_to":"AAAAUH%2F%2Bm9g%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":551,"context_line":"            \u003e\u003cpara\u003eIf \u003ccode\u003e?multipart-manifest\u003dget\u003c/code\u003e and the object is a static"},{"line_number":552,"context_line":"            large object, the body contains the manifest and not the"},{"line_number":553,"context_line":"            object contents.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":554,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":555,"context_line":"\u003c!ENTITY multipart-manifest-delete-requestParameter \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":556,"context_line":"    name\u003d\"multipart-manifest\" style\u003d\"query\" required\u003d\"false\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm84%3D","line":553,"updated":"2014-01-23 23:01:49.000000000","message":"I think this works for dynamic large objects too.\n\nIt may (or may not) be worth mentioning that multipart-manifest\u003dget only affects GET and HEAD requests, not any other verbs.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":550,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":551,"context_line":"            \u003e\u003cpara\u003eIf \u003ccode\u003e?multipart-manifest\u003dget\u003c/code\u003e and the object is a static"},{"line_number":552,"context_line":"            large object, the body contains the manifest and not the"},{"line_number":553,"context_line":"            object contents.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":554,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":555,"context_line":"\u003c!ENTITY multipart-manifest-delete-requestParameter \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":556,"context_line":"    name\u003d\"multipart-manifest\" style\u003d\"query\" required\u003d\"false\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiMo%3D","line":553,"in_reply_to":"AAAAUH%2F%2Bm84%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"738cba1efa2d2e820f746d1072ca4c1ac12870ab","unresolved":false,"context_lines":[{"line_number":551,"context_line":"            \u003e\u003cpara\u003eIf \u003ccode\u003e?multipart-manifest\u003dget\u003c/code\u003e and the object is a static"},{"line_number":552,"context_line":"            large object, the body contains the manifest and not the"},{"line_number":553,"context_line":"            object contents.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":554,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":555,"context_line":"\u003c!ENTITY multipart-manifest-delete-requestParameter \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":556,"context_line":"    name\u003d\"multipart-manifest\" style\u003d\"query\" required\u003d\"false\""},{"line_number":557,"context_line":"    type\u003d\"xsd:string\"\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bj04%3D","line":554,"updated":"2014-01-24 12:47:45.000000000","message":"Wrt 1st comment (dynanic large objects). It does. I suggest we change the text to:\n\n    If \u003ccode\u003e?multipart-manifest\u003dget\u003c/code\u003e and the object is a large object, the\n    object contents are not returned. Instead, the manifest is returned in the\n    X-Object-Manifest response header (dynamic large objects) or in the\n    response body (static large objects).\n\nWrt 2nd comment; this entity is only use in the GET and HEAD context; there are put and delete entities used in the PUT and DELETE  sections.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":551,"context_line":"            \u003e\u003cpara\u003eIf \u003ccode\u003e?multipart-manifest\u003dget\u003c/code\u003e and the object is a static"},{"line_number":552,"context_line":"            large object, the body contains the manifest and not the"},{"line_number":553,"context_line":"            object contents.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":554,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":555,"context_line":"\u003c!ENTITY multipart-manifest-delete-requestParameter \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""},{"line_number":556,"context_line":"    name\u003d\"multipart-manifest\" style\u003d\"query\" required\u003d\"false\""},{"line_number":557,"context_line":"    type\u003d\"xsd:string\"\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiMk%3D","line":554,"in_reply_to":"AAAAUH%2F%2Bj04%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":559,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":560,"context_line":"            \u003e\u003cpara\u003eIf \u003ccode\u003e?multipart-manifest\u003ddelete\u003c/code\u003e and the"},{"line_number":561,"context_line":"            object is a static large object, the segment objects are"},{"line_number":562,"context_line":"            deleted. When the deletion succeeds, the manifest object"},{"line_number":563,"context_line":"            is deleted. If you do not use"},{"line_number":564,"context_line":"                \u003ccode\u003e?multipart-manifest\u003ddelete\u003c/code\u003e and this is a"},{"line_number":565,"context_line":"            static large object, the manifest object is deleted and"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm74%3D","line":562,"updated":"2014-01-23 23:01:49.000000000","message":"...the segment objects are deleted [as well as the manifest].\n\nIt\u0027s probably worth mentioning that, in case of a bulk delete, the response body will look the same as it does for a normal bulk delete. (In contrast, a plain object DELETE response has an empty body.)","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":559,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":560,"context_line":"            \u003e\u003cpara\u003eIf \u003ccode\u003e?multipart-manifest\u003ddelete\u003c/code\u003e and the"},{"line_number":561,"context_line":"            object is a static large object, the segment objects are"},{"line_number":562,"context_line":"            deleted. When the deletion succeeds, the manifest object"},{"line_number":563,"context_line":"            is deleted. If you do not use"},{"line_number":564,"context_line":"                \u003ccode\u003e?multipart-manifest\u003ddelete\u003c/code\u003e and this is a"},{"line_number":565,"context_line":"            static large object, the manifest object is deleted and"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiL8%3D","line":562,"in_reply_to":"AAAAUH%2F%2Bm74%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":578,"context_line":"    style\u003d\"query\" required\u003d\"false\" type\u003d\"xsd:string\"\u003e"},{"line_number":579,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":580,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":581,"context_line":"            \u003e\u003cpara\u003ePrefix value, with which the returned object"},{"line_number":582,"context_line":"            names begin.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":583,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":584,"context_line":"\u003c!-- Response headers --\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm7g%3D","line":581,"updated":"2014-01-23 23:01:49.000000000","message":"don\u0027t think you need this comma","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":578,"context_line":"    style\u003d\"query\" required\u003d\"false\" type\u003d\"xsd:string\"\u003e"},{"line_number":579,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":580,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\""},{"line_number":581,"context_line":"            \u003e\u003cpara\u003ePrefix value, with which the returned object"},{"line_number":582,"context_line":"            names begin.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":583,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":584,"context_line":"\u003c!-- Response headers --\u003e"}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiL0%3D","line":581,"in_reply_to":"AAAAUH%2F%2Bm7g%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":596,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":597,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":598,"context_line":"        \u003cpara\u003eThe total number of bytes that are stored in Object"},{"line_number":599,"context_line":"            Storage for the tenant.\u003c/para\u003e"},{"line_number":600,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":601,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":602,"context_line":"\u003c!ENTITY account-container-count-responseHeader \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm6w%3D","line":599,"updated":"2014-01-23 23:01:49.000000000","message":"I\u0027d say \"account\" here instead of \"tenant\". I\u0027m uncertain of how tenants map to Swift accounts, though, so \"tenant\" may also be correct.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":596,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":597,"context_line":"        xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":598,"context_line":"        \u003cpara\u003eThe total number of bytes that are stored in Object"},{"line_number":599,"context_line":"            Storage for the tenant.\u003c/para\u003e"},{"line_number":600,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":601,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":602,"context_line":"\u003c!ENTITY account-container-count-responseHeader \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiLg%3D","line":599,"in_reply_to":"AAAAUH%2F%2Bm6w%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":940,"context_line":"    name\u003d\"bytes\" style\u003d\"plain\" required\u003d\"true\" type\u003d\"xsd:int\"\u003e"},{"line_number":941,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":942,"context_line":"        \u003cpara\u003eThe total number of bytes that are stored in Object"},{"line_number":943,"context_line":"            Storage for the tenant.\u003c/para\u003e"},{"line_number":944,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":945,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":946,"context_line":"\u003c!ENTITY content-type-responseField \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2Bm5E%3D","line":943,"updated":"2014-01-23 23:01:49.000000000","message":"Same thing re: \"tenant\" as above.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":940,"context_line":"    name\u003d\"bytes\" style\u003d\"plain\" required\u003d\"true\" type\u003d\"xsd:int\"\u003e"},{"line_number":941,"context_line":"    \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xmlns:wadl\u003d\"http://wadl.dev.java.net/2009/02\" xml:lang\u003d\"EN\"\u003e"},{"line_number":942,"context_line":"        \u003cpara\u003eThe total number of bytes that are stored in Object"},{"line_number":943,"context_line":"            Storage for the tenant.\u003c/para\u003e"},{"line_number":944,"context_line":"    \u003c/wadl:doc\u003e"},{"line_number":945,"context_line":"\u003c/param\u003e\u0027\u003e"},{"line_number":946,"context_line":"\u003c!ENTITY content-type-responseField \u0027\u003cparam xmlns\u003d\"http://wadl.dev.java.net/2009/02\""}],"source_content_type":"application/octet-stream","patch_set":49,"id":"AAAAUH%2F%2BiLQ%3D","line":943,"in_reply_to":"AAAAUH%2F%2Bm5E%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"8277c16db1a171a76dd0d983736b62504fcaa361","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c!ENTITY name \u0027{name}\u0027\u003e"},{"line_number":2,"context_line":"\u003c!-- Common faults. --\u003e"},{"line_number":3,"context_line":"\u003c!ENTITY commonFaults \u0027\u003cresponse xmlns\u003d\"http://wadl.dev.java.net/2009/02\"\u003e"},{"line_number":4,"context_line":"    \u003crepresentation mediaType\u003d\"application/xml\""}],"source_content_type":"application/octet-stream","patch_set":52,"id":"AAAAUH%2F%2BXSo%3D","line":1,"updated":"2014-01-27 18:41:17.000000000","message":"For tempurl, need to add style \u003dqiery reqrioed\u003dfalse\n\n\nsignature-requestParameter\n\n    Used with Temporary URLs to sign the request. See xxx (api spec) for more\n    information about Temporary URLs.\n\nexpires-requestParameter\n\n    Used with Temporary URLs to specify the expiry time of the signature. See\n    xxx (api spec) for more information about Temporary URLs.","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"}],"api-ref/src/wadls/object-api/src/os-object-api-1.0.wadl":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                        type\u003d\"xsd:string\"\u003e"},{"line_number":30,"context_line":"                        \u003cwadl:doc"},{"line_number":31,"context_line":"                            xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":32,"context_line":"                            xml:lang\u003d\"EN\"\u003e"},{"line_number":33,"context_line":"                            \u003cpara\u003eThe unique identifier for the"},{"line_number":34,"context_line":"                                container.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":35,"context_line":"                    \u003c/param\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoLY%3D","line":32,"updated":"2014-01-10 16:39:41.000000000","message":"In the spec, there are lots of mentions of containers as having \"names\". Would this be better as \"The unique name for the container\"?","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                            type\u003d\"xsd:string\"\u003e"},{"line_number":45,"context_line":"                            \u003cwadl:doc"},{"line_number":46,"context_line":"                                xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":47,"context_line":"                                xml:lang\u003d\"EN\"\u003e"},{"line_number":48,"context_line":"                                \u003cpara\u003eThe unique identifier for the"},{"line_number":49,"context_line":"                                   object.\u003c/para\u003e\u003c/wadl:doc\u003e"},{"line_number":50,"context_line":"                        \u003c/param\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoKU%3D","line":47,"updated":"2014-01-10 16:39:41.000000000","message":"Dito for object -- \"name\" vs \"identifier\"\n\nI\u0027m happy enough for account to be an identifier","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    \u003c!--*******************************************************--\u003e"},{"line_number":76,"context_line":"    \u003cmethod name\u003d\"GET\" id\u003d\"listContainers\"\u003e"},{"line_number":77,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":78,"context_line":"            title\u003d\"List containers\"\u003e"},{"line_number":79,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eLists storage containers, sorted by"},{"line_number":80,"context_line":"                name.\u003c/para\u003e"},{"line_number":81,"context_line":"            \u003cpara\u003eThe sort order for the name is based on a \u003clink"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoF0%3D","line":78,"updated":"2014-01-10 16:39:41.000000000","message":"Does \"storage\" add anything? Why not just , \"Lists containers, sorted by name.\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":78,"context_line":"            title\u003d\"List containers\"\u003e"},{"line_number":79,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eLists storage containers, sorted by"},{"line_number":80,"context_line":"                name.\u003c/para\u003e"},{"line_number":81,"context_line":"            \u003cpara\u003eThe sort order for the name is based on a \u003clink"},{"line_number":82,"context_line":"                    xlink:href\u003d\"http://www.sqlite.org/datatype3.html#collation\""},{"line_number":83,"context_line":"                    \u003ebinary comparison\u003c/link\u003e, a single built-in"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoFk%3D","line":80,"updated":"2014-01-10 16:39:41.000000000","message":"This is a general comment, related to all the operations:\n\nIn the online web version the shortdesc (\"Lists storage containers, sorted by name\") appears just after the \"GET {/account}...\" And when you click on the \"Details\", you see the text below. \n\nSo in that context, starting off with \"The sort order for the name...\" makes sense. \n\nHowever, in the printed version (and I think when the WADLs are pulled into the spec), you get this:\n\n    1.1.1 List Containers\n\n    The sort order for the name...\n\n...and it\u0027s only when you get to the table do you see the short description. Is it possible to get the  shortdesc para to appear as the first line in the printed section?","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                    \u003ebinary comparison\u003c/link\u003e, a single built-in"},{"line_number":84,"context_line":"                collating sequence that compares string data by using"},{"line_number":85,"context_line":"                the SQLite \u003cliteral\u003ememcmp()\u003c/literal\u003e function,"},{"line_number":86,"context_line":"                regardless of text encoding.\u003c/para\u003e"},{"line_number":87,"context_line":"            \u003cpara\u003eThe \u003ccode\u003eprefix\u003c/code\u003e query parameter is not"},{"line_number":88,"context_line":"                supported at the account level.\u003c/para\u003e"},{"line_number":89,"context_line":"            \u003cpara\u003eThe response body returns a list of containers, one"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fn7w%3D","line":86,"updated":"2014-01-10 16:39:41.000000000","message":"Actually, prefix (and delimiter) ARE supported at the account level. I know, because I tested it.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                the SQLite \u003cliteral\u003ememcmp()\u003c/literal\u003e function,"},{"line_number":86,"context_line":"                regardless of text encoding.\u003c/para\u003e"},{"line_number":87,"context_line":"            \u003cpara\u003eThe \u003ccode\u003eprefix\u003c/code\u003e query parameter is not"},{"line_number":88,"context_line":"                supported at the account level.\u003c/para\u003e"},{"line_number":89,"context_line":"            \u003cpara\u003eThe response body returns a list of containers, one"},{"line_number":90,"context_line":"                container per line.\u003c/para\u003e"},{"line_number":91,"context_line":"            \u003cpara\u003eIf the request succeeds, the"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoFA%3D","line":88,"updated":"2014-01-10 16:39:41.000000000","message":"This should be:\n\n    The response body returns a list of containers. The default (text/plain) response is to return one container per line.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            \u003cpara\u003eThe \u003ccode\u003eprefix\u003c/code\u003e query parameter is not"},{"line_number":88,"context_line":"                supported at the account level.\u003c/para\u003e"},{"line_number":89,"context_line":"            \u003cpara\u003eThe response body returns a list of containers, one"},{"line_number":90,"context_line":"                container per line.\u003c/para\u003e"},{"line_number":91,"context_line":"            \u003cpara\u003eIf the request succeeds, the"},{"line_number":92,"context_line":"                        \u003creturnvalue\u003e2\u003creplaceable\u003enn\u003c/replaceable\u003e\u003c/returnvalue\u003e"},{"line_number":93,"context_line":"                status code is returned, from 200 to 299,"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoDg%3D","line":90,"updated":"2014-01-10 16:39:41.000000000","message":"For GET /account the return code is very specific. I\u0027ll let you word it, but here\u0027s the rules:\n\n-- 200 is success and the response body contains a list of containers\n\n-- 204 is success. the response body contains no containers. There are two reasons for this:\n\na) there are no containers in the account\nor\nb) you are \"paging\" though a long list of names (using ?marker, ?limit, etc) and you have reached the end of the list (this is where the number of names is exactly divisible by ?limit\n\nIn case I forget the comment later, this also applies to List Objects (GET /account/container)","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                inclusive.\u003c/para\u003e"},{"line_number":95,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":96,"context_line":"        \u003crequest\u003e \u0026limit-requestParameter; \u0026marker-requestParameter;"},{"line_number":97,"context_line":"            \u0026end-marker-requestParameter; \u0026format-requestParameter;"},{"line_number":98,"context_line":"            \u0026auth-token-requestHeader-required; \u0026newest-requestHeader;"},{"line_number":99,"context_line":"                \u003crepresentation mediaType\u003d\"application/json\"\u003e"},{"line_number":100,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fn7o%3D","line":97,"updated":"2014-01-10 16:39:41.000000000","message":"add ?prefix and ?delimiter\n\nadd  \u0026content-length-responseHeader;","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \u0026auth-token-requestHeader-required; \u0026newest-requestHeader;"},{"line_number":99,"context_line":"                \u003crepresentation mediaType\u003d\"application/json\"\u003e"},{"line_number":100,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":101,"context_line":"                    xml:lang\u003d\"EN\""},{"line_number":102,"context_line":"                    title\u003d\"Get container details request: HTTP with JSON\"\u003e"},{"line_number":103,"context_line":"                    \u003cxsdxt:code"},{"line_number":104,"context_line":"                        href\u003d\"samples/getcontainer_details_httphead.msg\""}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fn0E%3D","line":101,"updated":"2014-01-10 16:39:41.000000000","message":"Question: are these supposed to be examples, or syntax? It looks a bit like syntax, whereas the response examples are clearly examples.\n\nMaybe this is beyond the scope of this re-org. At this stage, I\u0027m only going to to a light review the of sample request /responses.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            \u0026account-container-count-responseHeader;"},{"line_number":121,"context_line":"            \u0026account-meta-name-responseHeader;"},{"line_number":122,"context_line":"            \u0026account-meta-temp-url-key-responseHeader;"},{"line_number":123,"context_line":"            \u0026account-meta-temp-url-key-2-responseHeader;"},{"line_number":124,"context_line":"            \u0026accept-responseHeader; \u0026name-responseField;"},{"line_number":125,"context_line":"            \u0026count-responseField; \u0026bytes-responseField;"},{"line_number":126,"context_line":"                \u003crepresentation mediaType\u003d\"application/xml\"\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FoCA%3D","line":123,"updated":"2014-01-10 16:39:41.000000000","message":"Accept is not a *response* header --- it\u0027s a *request* header. You need to move this up to the \u003crequest\u003e section above.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            \u0026count-responseField; \u0026bytes-responseField;"},{"line_number":126,"context_line":"                \u003crepresentation mediaType\u003d\"application/xml\"\u003e"},{"line_number":127,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":128,"context_line":"                    xml:lang\u003d\"EN\""},{"line_number":129,"context_line":"                    title\u003d\"Get container details response: XML\"\u003e"},{"line_number":130,"context_line":"                    \u003cxsdxt:code"},{"line_number":131,"context_line":"                        href\u003d\"samples/getcontainer_details_response.xml\""}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fn2E%3D","line":128,"updated":"2014-01-10 16:39:41.000000000","message":"This is actually \"Get container details response body: XML\" i.e., it\u0027s the body, not the full response.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    \u003c/method\u003e"},{"line_number":144,"context_line":"    \u003cmethod name\u003d\"HEAD\" id\u003d\"retrieveaccountmeta\"\u003e"},{"line_number":145,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":146,"context_line":"            title\u003d\"Get account metadata\"\u003e"},{"line_number":147,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eGets the number of containers and"},{"line_number":148,"context_line":"                the total bytes that are stored in Object Storage for"},{"line_number":149,"context_line":"                a specified account.\u003c/para\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fny8%3D","line":146,"updated":"2014-01-10 16:39:41.000000000","message":"Would be better as \"Gets the account metadata including the number of containers, number of objects and the total bytes that are stored in Object Storage for a specified account.\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                of data, take care when you represent the total bytes"},{"line_number":152,"context_line":"                response as an integer; when possible, convert it to a"},{"line_number":153,"context_line":"                64-bit unsigned integer if your platform supports that"},{"line_number":154,"context_line":"                primitive type.\u003c/para\u003e"},{"line_number":155,"context_line":"            \u003cpara\u003eIf the request succeeds, the"},{"line_number":156,"context_line":"                        \u003creturnvalue\u003e2\u003creplaceable\u003enn\u003c/replaceable\u003e\u003c/returnvalue\u003e"},{"line_number":157,"context_line":"                status code is returned, from 200 to 299,"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnyM%3D","line":154,"updated":"2014-01-10 16:39:41.000000000","message":"HEADs always return \"204 No Content\" if they succeed.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                primitive type.\u003c/para\u003e"},{"line_number":155,"context_line":"            \u003cpara\u003eIf the request succeeds, the"},{"line_number":156,"context_line":"                        \u003creturnvalue\u003e2\u003creplaceable\u003enn\u003c/replaceable\u003e\u003c/returnvalue\u003e"},{"line_number":157,"context_line":"                status code is returned, from 200 to 299,"},{"line_number":158,"context_line":"                inclusive.\u003c/para\u003e\u003cpara\u003eIf the account or access key is"},{"line_number":159,"context_line":"                not valid, the \u003cerrorcode\u003e401\u003c/errorcode\u003e"},{"line_number":160,"context_line":"                \u003cerrortext\u003eUnauthorized\u003c/errortext\u003e error code is"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fnxw%3D","line":157,"updated":"2014-01-10 16:39:41.000000000","message":"Change \"access key\" to \"authentication token\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":269,"context_line":"    \u003cmethod name\u003d\"PUT\" id\u003d\"createcontainer\"\u003e"},{"line_number":270,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":271,"context_line":"            title\u003d\"Create container\"\u003e"},{"line_number":272,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates a container.\u003c/para\u003e"},{"line_number":273,"context_line":"            \u003cpara\u003eThis operation fails unless the container is empty."},{"line_number":274,"context_line":"                An empty container has no objects.\u003c/para\u003e"},{"line_number":275,"context_line":"        \u003c/wadl:doc\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnK8%3D","line":272,"updated":"2014-01-10 16:39:41.000000000","message":"Remove \"This container fails unless the container is empty\" -- actually, it should be moved to Delete Container","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            title\u003d\"Create container\"\u003e"},{"line_number":272,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates a container.\u003c/para\u003e"},{"line_number":273,"context_line":"            \u003cpara\u003eThis operation fails unless the container is empty."},{"line_number":274,"context_line":"                An empty container has no objects.\u003c/para\u003e"},{"line_number":275,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":276,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-requestParameter;"},{"line_number":277,"context_line":"            \u0026auth-token-requestHeader-required;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnKM%3D","line":274,"updated":"2014-01-10 16:39:41.000000000","message":"Add \"You don\u0027t need to check if a container already exists before doing the PUT operation because the operation is idempotent (i.e., it will create a new container or update an existing container as appropriate).\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates a container.\u003c/para\u003e"},{"line_number":273,"context_line":"            \u003cpara\u003eThis operation fails unless the container is empty."},{"line_number":274,"context_line":"                An empty container has no objects.\u003c/para\u003e"},{"line_number":275,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":276,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-requestParameter;"},{"line_number":277,"context_line":"            \u0026auth-token-requestHeader-required;"},{"line_number":278,"context_line":"            \u0026container-read-requestHeader;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fnjg%3D","line":275,"updated":"2014-01-10 16:39:41.000000000","message":"Remove  \u0026multipart-manifest-requestParameter here.\n\nIn case I don\u0027t catch all of them, multipart-manifest request only applies to PUT, GET and DELETE object; not any other PUT, POST or HEAD of to accounts or containers.\n\nSee my comment in common.ent","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":294,"context_line":"    \u003cmethod name\u003d\"DELETE\" id\u003d\"deletecontainer\"\u003e"},{"line_number":295,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":296,"context_line":"            title\u003d\"Delete container\"\u003e"},{"line_number":297,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eDeletes an empty container.\u003c/para\u003e"},{"line_number":298,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":299,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required; \u003c/request\u003e"},{"line_number":300,"context_line":"        \u003cresponse status\u003d\"204\"/\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnKw%3D","line":297,"updated":"2014-01-10 16:39:41.000000000","message":"Add \"This container fails unless the container is empty\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":320,"context_line":"                mediaType\u003d\"application/json\"\u003e"},{"line_number":321,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":322,"context_line":"                    xml:lang\u003d\"EN\"\u003e"},{"line_number":323,"context_line":"                    \u003cxsdxt:code"},{"line_number":324,"context_line":"                        href\u003d\"samples/getcontainermeta_httphead.msg\"/\u003e"},{"line_number":325,"context_line":"                \u003c/wadl:doc\u003e"},{"line_number":326,"context_line":"            \u003c/representation\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnJU%3D","line":323,"updated":"2014-01-10 16:39:41.000000000","message":"The title in this should be \"Get container metadata: Response\"\n\n-- not Response:JSON since HEAD only returns headers, not a body","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":329,"context_line":"    \u003cmethod name\u003d\"POST\" id\u003d\"updateacontainermeta\"\u003e"},{"line_number":330,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":331,"context_line":"            title\u003d\"Create or update container metadata\"\u003e"},{"line_number":332,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates or updates the arbitrary"},{"line_number":333,"context_line":"                container metadata by associating custom metadata"},{"line_number":334,"context_line":"                headers with the container level URI. These headers"},{"line_number":335,"context_line":"                must have the format,"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnH8%3D","line":332,"updated":"2014-01-10 16:39:41.000000000","message":"I would break this into shortdesc and the ordinary para; something such as:\n\n    \u003cpara role\u003d\"shortdesc\"\u003eCreates or updates custom metadata on a container.\u003c/para\u003e\n    \u003cpara\u003eTo specify a custom metdata item, use a header with the following\n    format in the name \u003ccode\u003eX-Container-Meta-{name}\u003c/code\u003e, where \u003ccode\u003e{name}\u003c/code\u003e is the name of the custom metadata item.\n\nand add:\n\n    \u003cpara\u003eIf the container already has other custom metadata, those items are not affected.\u003cpara\u003e\n\n\nand take the text about X-Remove-Account-Meta-{name} and reuse here...but change Account to Container in headers names and the text.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":335,"context_line":"                must have the format,"},{"line_number":336,"context_line":"                    \u003ccode\u003eX-Container-Meta-{name}\u003c/code\u003e.\u003c/para\u003e"},{"line_number":337,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":338,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required;"},{"line_number":339,"context_line":"            \u0026container-read-requestHeader;"},{"line_number":340,"context_line":"            \u0026container-write-requestHeader;"},{"line_number":341,"context_line":"            \u0026container-sync-to-requestHeader;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fm%2BY%3D","line":338,"updated":"2014-01-10 16:39:41.000000000","message":"Need to add (and create entities for)\n\nx-remove-container-read\nx-remove-container-write\nx-remove-versions-location\nx-remove-container-meta-name\n\n(here is no x-remove for the sync-to and sync-key as far as I can find)","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":345,"context_line":"                mediaType\u003d\"application/json\"\u003e"},{"line_number":346,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":347,"context_line":"                    xml:lang\u003d\"EN\"\u003e"},{"line_number":348,"context_line":"                    \u003cxsdxt:code"},{"line_number":349,"context_line":"                        href\u003d\"samples/updatecontainermeta_httphead.msg\""},{"line_number":350,"context_line":"                    /\u003e"},{"line_number":351,"context_line":"                \u003c/wadl:doc\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fm94%3D","line":348,"updated":"2014-01-10 16:39:41.000000000","message":"The title of this should not mention JSON","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":391,"context_line":"            \u003c/representation\u003e"},{"line_number":392,"context_line":"        \u003c/request\u003e"},{"line_number":393,"context_line":"        \u003cresponse status\u003d\"204\"/\u003e"},{"line_number":394,"context_line":"    \u003c/method\u003e"},{"line_number":395,"context_line":"    \u003cmethod name\u003d\"POST\" id\u003d\"deleteaaccountmeta\"\u003e"},{"line_number":396,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":397,"context_line":"            title\u003d\"Delete account metadata\"\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fm7I%3D","line":394,"updated":"2014-01-10 16:39:41.000000000","message":"At this point you get a section titled 1.2.6 with empty Request/Responses sections and an empty table. Deletion of account matadat is already covered above (in POST /account), so I think this html markup should be removed ... down to listobjects","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                \u003cerrortext\u003eNot Found\u003c/errortext\u003e error code is"},{"line_number":437,"context_line":"                returned.\u003c/para\u003e"},{"line_number":438,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":439,"context_line":"        \u003crequest\u003e \u0026limit-requestParameter; \u0026marker-requestParameter;"},{"line_number":440,"context_line":"            \u0026end-marker-requestParameter; \u0026prefix-requestParameter;"},{"line_number":441,"context_line":"            \u0026format-requestParameter; \u0026delimiter-requestParameter;"},{"line_number":442,"context_line":"            \u0026path-requestParameter;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fnpk%3D","line":439,"updated":"2014-01-10 16:39:41.000000000","message":"Missing Accept","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        \u003crequest\u003e \u0026limit-requestParameter; \u0026marker-requestParameter;"},{"line_number":440,"context_line":"            \u0026end-marker-requestParameter; \u0026prefix-requestParameter;"},{"line_number":441,"context_line":"            \u0026format-requestParameter; \u0026delimiter-requestParameter;"},{"line_number":442,"context_line":"            \u0026path-requestParameter;"},{"line_number":443,"context_line":"            \u0026multipart-manifest-requestParameter;"},{"line_number":444,"context_line":"            \u0026auth-token-requestHeader-required; \u003crepresentation"},{"line_number":445,"context_line":"                mediaType\u003d\"application/json\"\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fngg%3D","line":442,"updated":"2014-01-10 16:39:41.000000000","message":"remove \u0026multipart-manifest-requestParameter; from here\n\nadd Accept request header","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                \u003c/wadl:doc\u003e"},{"line_number":450,"context_line":"            \u003c/representation\u003e"},{"line_number":451,"context_line":"        \u003c/request\u003e"},{"line_number":452,"context_line":"        \u003cresponse status\u003d\"200\"\u003e \u0026last-modified-responseHeader;"},{"line_number":453,"context_line":"            \u0026content-length-responseHeader;"},{"line_number":454,"context_line":"            \u0026content-type-responseHeader; \u0026ETag-responseHeader;"},{"line_number":455,"context_line":"            \u0026content-encoding-responseHeader;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnOU%3D","line":452,"updated":"2014-01-10 16:39:41.000000000","message":"Remove \n\u0026last-modified-responseHeader;\n\u0026ETag-responseHeader;\n\u0026content-encoding-responseHeader;\n\u0026content-disposition-responseHeader;\n\u0026delete-at-responseHeader;\n\u0026object-meta-name-responseHeader;\n\u0026static-large-object-responseHeader;","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":456,"context_line":"            \u0026content-disposition-responseHeader;"},{"line_number":457,"context_line":"            \u0026delete-at-responseHeader;"},{"line_number":458,"context_line":"            \u0026object-meta-name-responseHeader;"},{"line_number":459,"context_line":"            \u0026static-large-object-responseHeader; \u003crepresentation"},{"line_number":460,"context_line":"                mediaType\u003d\"application/json\"\u003e"},{"line_number":461,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":462,"context_line":"                    xml:lang\u003d\"EN\"\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnMI%3D","line":459,"updated":"2014-01-10 16:39:41.000000000","message":"This is actually the text/plain response example -- not json","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":474,"context_line":"    \u003cmethod name\u003d\"GET\" id\u003d\"retrieveobject\"\u003e"},{"line_number":475,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":476,"context_line":"            title\u003d\"Get object data\"\u003e"},{"line_number":477,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eGets data for a specified"},{"line_number":478,"context_line":"                object.\u003c/para\u003e"},{"line_number":479,"context_line":"            \u003cpara\u003eYou can perform conditional \u0026GET; requests by using"},{"line_number":480,"context_line":"                the following HTTP headers in the request:\u003c/para\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmnM%3D","line":477,"updated":"2014-01-10 16:39:41.000000000","message":"The If-* and the Range headers are documented in the table below, so I don\u0027t see any need to cover here. However, a some description of Get object data is justified. How about:\n\n    \u003cpara\u003eThe object content is returned in the response body. Metadata is returned in the response headers.\u003c/para\u003e\n    \u003cpara\u003eIf this is a Large Object, the response body contains the concatenated content of the segment objects. For a Static Large Object, to retrieve the manifest (instead of concatenated degment objects), use the multipart-manifest query parameter.\u003c/para\u003e","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":498,"context_line":"            \u003cpara\u003eYou can use the \u003ccode\u003eRange\u003c/code\u003e header to get"},{"line_number":499,"context_line":"                portions of data by using one or more range"},{"line_number":500,"context_line":"                specifications.\u003c/para\u003e"},{"line_number":501,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":502,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required;"},{"line_number":503,"context_line":"            \u0026newest-requestHeader;"},{"line_number":504,"context_line":"            \u0026multipart-manifest-requestParameter;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmmU%3D","line":501,"updated":"2014-01-10 16:39:41.000000000","message":"x-auth-token is optional here","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":500,"context_line":"                specifications.\u003c/para\u003e"},{"line_number":501,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":502,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required;"},{"line_number":503,"context_line":"            \u0026newest-requestHeader;"},{"line_number":504,"context_line":"            \u0026multipart-manifest-requestParameter;"},{"line_number":505,"context_line":"            \u0026range-requestHeader; \u0026if-match-requestHeader;"},{"line_number":506,"context_line":"            \u0026if-none-match-requestHeader;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FngQ%3D","line":503,"updated":"2014-01-10 16:39:41.000000000","message":"use the get version of multipart-manifest instead (see comment in common.ent)","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":514,"context_line":"            \u0026delete-at-responseHeader;"},{"line_number":515,"context_line":"            \u0026object-meta-name-responseHeader;"},{"line_number":516,"context_line":"            \u0026static-large-object-responseHeader; \u003crepresentation"},{"line_number":517,"context_line":"                mediaType\u003d\"application/json\"\u003e"},{"line_number":518,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":519,"context_line":"                    xml:lang\u003d\"EN\"\u003e"},{"line_number":520,"context_line":"                    \u003cxsdxt:code href\u003d\"samples/getobj_http.msg\"/\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmiM%3D","line":517,"updated":"2014-01-10 16:39:41.000000000","message":"The example is not of tye JSON","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":523,"context_line":"        \u003c/response\u003e"},{"line_number":524,"context_line":"    \u003c/method\u003e"},{"line_number":525,"context_line":"    \u003cmethod name\u003d\"PUT\" id\u003d\"createobject\"\u003e"},{"line_number":526,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":527,"context_line":"            title\u003d\"Create or update object\"\u003e"},{"line_number":528,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates or updates the content and"},{"line_number":529,"context_line":"                metadata for a specified object.\u003c/para\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2Fmgs%3D","line":526,"updated":"2014-01-10 16:39:41.000000000","message":"Change title to \"Create or replace an object\"","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":527,"context_line":"            title\u003d\"Create or update object\"\u003e"},{"line_number":528,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates or updates the content and"},{"line_number":529,"context_line":"                metadata for a specified object.\u003c/para\u003e"},{"line_number":530,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":531,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-optional;"},{"line_number":532,"context_line":"            \u0026content-type-requestHeader; \u0026copy-from-requestHeader;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmfE%3D","line":529,"updated":"2014-01-10 16:39:41.000000000","message":"Add:\n\n    \u003cpara\u003eCreates an object with the supplied data content and metadata.\u003c\\para\u003e\n    \u003cpara\u003eYou also use this operation to update an existing object (i.e. PUT to the same object name twice).\n    You should think of this as replacing the previous object\u0027s content and metadata.\u003c/para\u003e","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":536,"context_line":"            \u0026object-meta-name-requestHeader; \u003crepresentation"},{"line_number":537,"context_line":"                mediaType\u003d\"application/json\"\u003e"},{"line_number":538,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":539,"context_line":"                    xml:lang\u003d\"EN\"\u003e"},{"line_number":540,"context_line":"                    \u003cxsdxt:code href\u003d\"samples/createobj_http.msg\"/\u003e"},{"line_number":541,"context_line":"                \u003c/wadl:doc\u003e"},{"line_number":542,"context_line":"            \u003c/representation\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmZQ%3D","line":539,"updated":"2014-01-10 16:39:41.000000000","message":"not really JSON","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":547,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":548,"context_line":"            title\u003d\"Copy object\"\u003e"},{"line_number":549,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCopies an object to another object"},{"line_number":550,"context_line":"                in the OpenStack Object Storage system.\u003c/para\u003e"},{"line_number":551,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":552,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-optional;"},{"line_number":553,"context_line":"            \u0026content-type-requestHeader; \u0026copy-from-requestHeader;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmYM%3D","line":550,"updated":"2014-01-10 16:39:41.000000000","message":"Add:\n\n    When you copy a manifest object, the new object is a \"normal\" object -- not a copy of the\n    manifest. Instead it is a concatenation of all the segment objects. This means that you cannot\n    copy objects larger than 5GB in size.\n\n    All metadata is preserved during the object copy. If you specify metadata on the request to copy\n    the object (either the PUT or the COPY), the metadata overwrites any conflicting keys on the\n    target (new) object.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":584,"context_line":"    \u003cmethod name\u003d\"HEAD\" id\u003d\"retrieveobjectmeta\"\u003e"},{"line_number":585,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":586,"context_line":"            title\u003d\"Get object metadata\"\u003e"},{"line_number":587,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eGets object metadata and other"},{"line_number":588,"context_line":"                standard HTTP headers.\u003c/para\u003e"},{"line_number":589,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":590,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required;"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmWA%3D","line":587,"updated":"2014-01-10 16:39:41.000000000","message":"Throughout this document, \"metadata\" refers to account/container/obj metadata generally. The word \"custom\" is used to indicate that the x-object-meta-{name} stuff. This title reads as though \"metadata\" is only the custom and the \"standard\" is things like Content-Type. Sorry for long rant, but this shortdesc should simply be:\n\n    Gets object metatadata","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":599,"context_line":"            \u0026static-large-object-responseHeader; \u003crepresentation"},{"line_number":600,"context_line":"                mediaType\u003d\"application/json\"\u003e"},{"line_number":601,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":602,"context_line":"                    xml:lang\u003d\"EN\"\u003e"},{"line_number":603,"context_line":"                    \u003cxsdxt:code href\u003d\"samples/getobjmeta_httphead.msg\""},{"line_number":604,"context_line":"                    /\u003e"},{"line_number":605,"context_line":"                \u003c/wadl:doc\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmUw%3D","line":602,"updated":"2014-01-10 16:39:41.000000000","message":"again -- not JSON","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":601,"context_line":"                \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\""},{"line_number":602,"context_line":"                    xml:lang\u003d\"EN\"\u003e"},{"line_number":603,"context_line":"                    \u003cxsdxt:code href\u003d\"samples/getobjmeta_httphead.msg\""},{"line_number":604,"context_line":"                    /\u003e"},{"line_number":605,"context_line":"                \u003c/wadl:doc\u003e"},{"line_number":606,"context_line":"            \u003c/representation\u003e"},{"line_number":607,"context_line":"        \u003c/response\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FnoQ%3D","line":604,"updated":"2014-01-10 16:39:41.000000000","message":"Wrt: Normal response codes: 200\n\nIt should be 204.\nHEAD of object is a bit odd in HTTP terms -- it returns 204 No Content success code, yet also returns the Content-Length response header. In this case, the Content-Length is not the size of the response body, but the size of object. We should say this here (or above).","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":608,"context_line":"    \u003c/method\u003e"},{"line_number":609,"context_line":"    \u003cmethod name\u003d\"POST\" id\u003d\"updateaobjmeta\"\u003e"},{"line_number":610,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":611,"context_line":"            title\u003d\"Update object metadata\"\u003e"},{"line_number":612,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eUpdates an arbitrary metadata key"},{"line_number":613,"context_line":"                and value pair.\u003c/para\u003e\u003cpara\u003eMetadata must be in the"},{"line_number":614,"context_line":"                format \u003ccode\u003eX-Object-Meta-{name}\u003c/code\u003e, where"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmT4%3D","line":611,"updated":"2014-01-10 16:39:41.000000000","message":"shortdesc should be:\n\n    Updates object metadata","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":610,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":611,"context_line":"            title\u003d\"Update object metadata\"\u003e"},{"line_number":612,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eUpdates an arbitrary metadata key"},{"line_number":613,"context_line":"                and value pair.\u003c/para\u003e\u003cpara\u003eMetadata must be in the"},{"line_number":614,"context_line":"                format \u003ccode\u003eX-Object-Meta-{name}\u003c/code\u003e, where"},{"line_number":615,"context_line":"                    \u003ccode\u003e{name}\u003c/code\u003e is the name of the metadata"},{"line_number":616,"context_line":"                item. You can also include the"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FmS8%3D","line":613,"updated":"2014-01-10 16:39:41.000000000","message":"We should make sure that the descriptions of custom metadata are consistent for account, container and object. Here, the word \"custom\" needs to appear.\n\nIn addition, for *object* (only), need to add:\n\n    All existing metadata, with the exception of Content-Type is\n    overwritten by the POST operation. This means you must\n    specify all of the metadata in the request.","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":640,"context_line":"                the Object Storage system.\u003c/para\u003e\u003cpara\u003eIn combination"},{"line_number":641,"context_line":"                with the \u0026COPY; command, you can use \u0026COPY; and then"},{"line_number":642,"context_line":"                \u0026DELETE; to effectively move an object.\u003c/para\u003e"},{"line_number":643,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":644,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-requestParameter;"},{"line_number":645,"context_line":"            \u0026auth-token-requestHeader-optional; \u003c/request\u003e"},{"line_number":646,"context_line":"        \u003cresponse status\u003d\"204\"/\u003e"}],"source_content_type":"text/xml","patch_set":13,"id":"AAAAUH%2F%2FngA%3D","line":643,"updated":"2014-01-10 16:39:41.000000000","message":"Use delete version of multipart-manifest here. See comment in common.ent","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                default response (\u003ccode\u003etext/plain\u003c/code\u003e) returns one"},{"line_number":129,"context_line":"                container per line.\u003c/para\u003e"},{"line_number":130,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":131,"context_line":"        \u003crequest\u003e \u0026limit-requestParameter; \u0026marker-requestParameter;"},{"line_number":132,"context_line":"            \u0026end-marker-requestParameter; \u0026format-requestParameter;"},{"line_number":133,"context_line":"            \u0026prefix-requestParameter; \u0026delimiter-requestParameter;"},{"line_number":134,"context_line":"            \u0026auth-token-requestHeader-required; \u0026newest-requestHeader;"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9sA%3D","line":131,"updated":"2014-01-20 12:23:38.000000000","message":"Since there is no request body, you can remove \u0026content-length-requestHeader","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            \u0026prefix-requestParameter; \u0026delimiter-requestParameter;"},{"line_number":134,"context_line":"            \u0026auth-token-requestHeader-required; \u0026newest-requestHeader;"},{"line_number":135,"context_line":"            \u0026content-length-requestHeader; \u0026accept-requestHeader; \u003c/request\u003e"},{"line_number":136,"context_line":"        \u003cresponse status\u003d\"200 204\"\u003e"},{"line_number":137,"context_line":"            \u0026account-object-count-responseHeader;"},{"line_number":138,"context_line":"            \u0026account-bytes-used-responseHeader;"},{"line_number":139,"context_line":"            \u0026account-container-count-responseHeader;"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9k8%3D","line":136,"updated":"2014-01-20 12:23:38.000000000","message":"Add\n\n    content-length-responseHeader-NAMES\n    content-type-responseHeader-NAMES","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                value.\u003c/para\u003e"},{"line_number":192,"context_line":"            \u003cpara\u003eThis operation does not accept a request"},{"line_number":193,"context_line":"                body.\u003c/para\u003e"},{"line_number":194,"context_line":"            \u003cpara\u003eExample requests and responses:\u003c/para\u003e"},{"line_number":195,"context_line":"            \u003cpara\u003eExample requests and responses:\u003c/para\u003e\u003citemizedlist\u003e"},{"line_number":196,"context_line":"                \u003clistitem\u003e\u003cpara\u003eCreate account metadata: \u003ccode\u003ecurl -i"},{"line_number":197,"context_line":"                            $publicURL -X POST -H \"X-Auth-Token:"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9is%3D","line":194,"updated":"2014-01-20 12:23:38.000000000","message":"Repeated \"Example requests and responses:\"","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            \u0026account-meta-temp-url-key-requestHeader;"},{"line_number":232,"context_line":"            \u0026account-meta-temp-url-key-2-requestHeader;"},{"line_number":233,"context_line":"            \u0026account-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":234,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader;"},{"line_number":235,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":236,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"},{"line_number":237,"context_line":"    \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9g4%3D","line":234,"updated":"2014-01-20 12:23:38.000000000","message":"Remove \u0026content-length-responseHeader; and \u0026content-type-responseHeader; and add \u0026content-length-responseHeader-OP; and \u0026content-type-responseHeader-OP;","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            \u0026account-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":234,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader;"},{"line_number":235,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":236,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"},{"line_number":237,"context_line":"    \u003c/method\u003e"},{"line_number":238,"context_line":"    \u003cmethod name\u003d\"HEAD\" id\u003d\"showAccountMeta\"\u003e"},{"line_number":239,"context_line":"        \u003c!-- show account metadata --\u003e"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9Ww%3D","line":236,"updated":"2014-01-20 12:23:38.000000000","message":"If we are going to show \u0026trans-id-responseHeader; here, we should also list if in EVERY Response header table. (I\u0027m not 100% sure the core team want to support X-Trans-Id, but in practice it\u0027s used a lot, so lets document it and let others comment.)","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":280,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required;"},{"line_number":281,"context_line":"            \u0026newest-requestHeader; \u003c/request\u003e"},{"line_number":282,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026account-object-count-responseHeader;"},{"line_number":283,"context_line":"            \u0026account-container-count-responseHeader;"},{"line_number":284,"context_line":"            \u0026account-bytes-used-responseHeader;"},{"line_number":285,"context_line":"            \u0026account-meta-name-responseHeader;"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9cw%3D","line":282,"updated":"2014-01-20 12:23:38.000000000","message":"Add \u0026content-length-responseHeader-OP; and \u0026content-type-responseHeader-OP;","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":340,"context_line":"        \u003crequest\u003e \u0026limit-requestParameter; \u0026marker-requestParameter;"},{"line_number":341,"context_line":"            \u0026end-marker-requestParameter; \u0026prefix-requestParameter;"},{"line_number":342,"context_line":"            \u0026format-requestParameter; \u0026delimiter-requestParameter;"},{"line_number":343,"context_line":"            \u0026path-requestParameter;"},{"line_number":344,"context_line":"            \u0026multipart-manifest-get-requestParameter;"},{"line_number":345,"context_line":"            \u0026auth-token-requestHeader-required; \u0026accept-requestHeader; \u003c/request\u003e"},{"line_number":346,"context_line":"        \u003cresponse status\u003d\"200 204\"\u003e \u0026content-length-responseHeader;"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9bw%3D","line":343,"updated":"2014-01-20 12:23:38.000000000","message":"Remove \u0026multipart-manifest-get-requestParameter;","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":343,"context_line":"            \u0026path-requestParameter;"},{"line_number":344,"context_line":"            \u0026multipart-manifest-get-requestParameter;"},{"line_number":345,"context_line":"            \u0026auth-token-requestHeader-required; \u0026accept-requestHeader; \u003c/request\u003e"},{"line_number":346,"context_line":"        \u003cresponse status\u003d\"200 204\"\u003e \u0026content-length-responseHeader;"},{"line_number":347,"context_line":"            \u0026container-object-count-responseHeader;"},{"line_number":348,"context_line":"            \u0026accept-ranges-responseHeader;"},{"line_number":349,"context_line":"            \u0026container-meta-name-responseHeader;"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9a8%3D","line":346,"updated":"2014-01-20 12:23:38.000000000","message":"Change  \u0026content-length-responseHeader; to \u0026content-length-responseHeader;-NAMES\n\nChange \u0026content-type-responseHeader; to \u0026content-type-responseHeader-NAMES;","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":347,"context_line":"            \u0026container-object-count-responseHeader;"},{"line_number":348,"context_line":"            \u0026accept-ranges-responseHeader;"},{"line_number":349,"context_line":"            \u0026container-meta-name-responseHeader;"},{"line_number":350,"context_line":"            \u0026timestamp-responseHeader;"},{"line_number":351,"context_line":"            \u0026container-bytes-used-responseHeader;"},{"line_number":352,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":353,"context_line":"            \u0026date-responseHeader; \u0026name-responseField;"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9Zw%3D","line":350,"updated":"2014-01-20 12:23:38.000000000","message":"As far as I know, X-Timestamp is not supposed to be part of the public API. I know it\u0027s frequently returned in responses. Please remove \u0026timestamp-responseHeader; here --- and everywhere else as well","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":350,"context_line":"            \u0026timestamp-responseHeader;"},{"line_number":351,"context_line":"            \u0026container-bytes-used-responseHeader;"},{"line_number":352,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":353,"context_line":"            \u0026date-responseHeader; \u0026name-responseField;"},{"line_number":354,"context_line":"            \u0026hash-responseField; \u0026bytes-responseField;"},{"line_number":355,"context_line":"            \u0026content-type-responseField; \u0026last-modified-responseField;"},{"line_number":356,"context_line":"                \u003crepresentation mediaType\u003d\"application/json\"\u003e"}],"source_content_type":"text/xml","patch_set":37,"id":"AAAAUH%2F%2B9Us%3D","line":353,"updated":"2014-01-20 12:23:38.000000000","message":"I don\u0027t see where the xxxx-responseField things appear in the document -- are the JSON/XML responses supposed to container hyperlinks or a table describing each field?","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":418,"context_line":"            \u0026container-sync-key-requestHeader;"},{"line_number":419,"context_line":"            \u0026versions-location-requestHeader;"},{"line_number":420,"context_line":"            \u0026container-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":421,"context_line":"        \u003cresponse status\u003d\"201 204\"\u003e \u0026content-length-responseHeader;"},{"line_number":422,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":423,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"},{"line_number":424,"context_line":"    \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7ds%3D","line":421,"updated":"2014-01-20 18:31:25.000000000","message":"change \u0026content-length-responseHeader; to \u0026content-length-responseHeader-OP;\n\nchange \u0026content-type-responseHeader; to \u0026content-type-responseHeader-OP;","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":501,"context_line":"            \u0026remove-versions-location-requestHeader;"},{"line_number":502,"context_line":"            \u0026container-meta-name-requestHeader;"},{"line_number":503,"context_line":"            \u0026remove-account-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":504,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader;"},{"line_number":505,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":506,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"},{"line_number":507,"context_line":"    \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7Vw%3D","line":504,"updated":"2014-01-20 18:31:25.000000000","message":"change \u0026content-length-responseHeader; to \u0026content-length-responseHeader-OP;\n\nchange \u0026content-type-responseHeader; to \u0026content-type-responseHeader-OP;","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":579,"context_line":"\u0026lt;html\u003e\u0026lt;h1\u003eConflict\u0026lt;/h1\u003e\u0026lt;p\u003eThere was a conflict when trying to complete your request.\u0026lt;/p\u003e\u0026lt;/html\u003e\u003c/programlisting\u003e\u003c/para\u003e"},{"line_number":580,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":581,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required; \u003c/request\u003e"},{"line_number":582,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader;"},{"line_number":583,"context_line":"            \u0026container-object-count-responseHeader;"},{"line_number":584,"context_line":"            \u0026accept-ranges-responseHeader;"},{"line_number":585,"context_line":"            \u0026container-bytes-used-responseHeader;"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7cU%3D","line":582,"updated":"2014-01-20 18:31:25.000000000","message":"change \u0026content-length-responseHeader; to \u0026content-length-responseHeader-OP;\n\nchange \u0026content-type-responseHeader; to \u0026content-type-responseHeader-OP;\n\nremove:\n    \u0026container-object-count-responseHeader;\n    \u0026accept-ranges-responseHeader;\n    container-bytes-used-responseHeader;","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":591,"context_line":"    \u003cmethod name\u003d\"GET\" id\u003d\"showObjectDetails\"\u003e"},{"line_number":592,"context_line":"        \u003c!-- show object details --\u003e"},{"line_number":593,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":594,"context_line":"            title\u003d\"Show object details\"\u003e"},{"line_number":595,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eShows details for a specified"},{"line_number":596,"context_line":"                object.\u003c/para\u003e"},{"line_number":597,"context_line":"            \u003cpara\u003eThis operation returns the object metadata in the"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7QU%3D","line":594,"updated":"2014-01-20 18:31:25.000000000","message":"It does more than show details...that\u0027s more appropate to HEAD\n\nShould be something like:\n\n    title\u003d\"Get object content and metadata\"\n\n    \u003cpara role\u003d\"shortdesc\"\u003eGets object content (i.e., download content) and retrieves object metadata.\u003c/para\u003e","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":649,"context_line":"            \u0026if-unmodified-since-requestHeader; \u003c/request\u003e"},{"line_number":650,"context_line":"        \u003cresponse status\u003d\"200\"\u003e \u0026content-length-responseHeader;"},{"line_number":651,"context_line":"            \u0026accept-ranges-responseHeader;"},{"line_number":652,"context_line":"            \u0026last-modified-responseHeader; \u0026ETag-responseHeader;"},{"line_number":653,"context_line":"            \u0026object-meta-orig-filename-responseHeader;"},{"line_number":654,"context_line":"            \u0026content-type-responseHeader;"},{"line_number":655,"context_line":"            \u0026content-encoding-responseHeader;"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7PU%3D","line":652,"updated":"2014-01-20 18:31:25.000000000","message":"Remove \u0026object-meta-orig-filename-responseHeader; -- this looks like custom metadata and is not (as-such) a standard feature in Swift.","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":667,"context_line":"                data content and metadata, or replaces an existing"},{"line_number":668,"context_line":"                object with specified data content and"},{"line_number":669,"context_line":"                metadata.\u003c/para\u003e"},{"line_number":670,"context_line":"            \u003cpara\u003eIf use this operation to replace an existing object,"},{"line_number":671,"context_line":"                you essentially \u0026PUT; to the same object name twice."},{"line_number":672,"context_line":"                You should think of this operation as replacing the"},{"line_number":673,"context_line":"                existing content and metadata for the object.\u003c/para\u003e"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7Jg%3D","line":670,"updated":"2014-01-20 18:31:25.000000000","message":"Reads oddly (yes, it looks like my text!). Should be something like:\n\n    The \u0026PUT; operation always creates a new object. If you use this operation on an\n    existing object, you replace the existing object and metadata -- not modify the\n    object. This is explains why this operations return a Created (201) success node.","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":671,"context_line":"                you essentially \u0026PUT; to the same object name twice."},{"line_number":672,"context_line":"                You should think of this operation as replacing the"},{"line_number":673,"context_line":"                existing content and metadata for the object.\u003c/para\u003e"},{"line_number":674,"context_line":"            \u003cpara\u003eIf use this operation to replace a manifest object,"},{"line_number":675,"context_line":"                the new object is a normal object and not a copy of"},{"line_number":676,"context_line":"                the manifest. Instead it is a concatenation of all the"},{"line_number":677,"context_line":"                segment objects. This means that you cannot copy"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7JI%3D","line":674,"updated":"2014-01-20 18:31:25.000000000","message":"Change\n    \"If use this operation to replace a manifest object,...\" \n\nto\n    \"If use this operation to copy a manifest object,...\"","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":711,"context_line":"                    \u003ccode\u003e408 Request Timeout\u003c/code\u003e error"},{"line_number":712,"context_line":"                code.\u003c/para\u003e"},{"line_number":713,"context_line":"            \u003cpara\u003eThe \u003ccode\u003e411 Length Required\u003c/code\u003e error code"},{"line_number":714,"context_line":"                indicates a missing \u003ccode\u003eContent-Length\u003c/code\u003e or"},{"line_number":715,"context_line":"                    \u003ccode\u003eContent-Type\u003c/code\u003e request header.\u003c/para\u003e"},{"line_number":716,"context_line":"            \u003cpara\u003eIf the MD5 checksum of the data that is written to"},{"line_number":717,"context_line":"                the object store does not match the optional"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7Fw%3D","line":714,"updated":"2014-01-20 18:31:25.000000000","message":"Change \"or \u003ccode\u003eContent-Type\u003c/code\u003e\" to \"or \u003ccode\u003eTransfer-Encoding\u003c/code\u003e\"","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":720,"context_line":"                code.\u003c/para\u003e"},{"line_number":721,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":722,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-put-requestParameter;"},{"line_number":723,"context_line":"            \u0026auth-token-requestHeader-optional;"},{"line_number":724,"context_line":"            \u0026content-type-requestHeader; \u0026copy-from-requestHeader;"},{"line_number":725,"context_line":"            \u0026ETag-requestHeader; \u0026content-disposition-requestHeader;"},{"line_number":726,"context_line":"            \u0026content-encoding-requestHeader; \u0026delete-at-requestHeader;"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B7Ck%3D","line":723,"updated":"2014-01-20 18:31:25.000000000","message":"Add two headers as follows:\n\n    content-length-requestHeader-putObj     , optional\n\n    Set this to the length of the object content. Do not set if chunked transfer\n    encoding is being used.\n\n    transfer-encoding-requestHeader (Transfer-Encoding, optional)\n\n    Set this to \u003ccode\u003echunked\u003c/code\u003e to enable chunked transfer encoding. If used,\n    do not set the Content-Length header to a non-zero value.","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":727,"context_line":"            \u0026delete-after-requestHeader;"},{"line_number":728,"context_line":"            \u0026object-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":729,"context_line":"        \u003cresponse status\u003d\"201\"\u003e \u0026last-modified-responseField;"},{"line_number":730,"context_line":"            \u0026content-length-responseHeader; \u0026ETag-responseHeader;"},{"line_number":731,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":732,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e \u0026fault408; \u0026fault411;"},{"line_number":733,"context_line":"        \u0026fault422; \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B6%2Fs%3D","line":730,"updated":"2014-01-20 18:31:25.000000000","message":"The ETag response of a PUT object is a little different than the ETag of a GET object. Suggest we add a new entity and text as follows:\n\n    ETag-responseHeader-PUT\n\n    For objects smaller than 5 GB, this value is the MD5 checksum of the\n    uploaded object content. The value is not quoted. If you supplied an\n    \u003ccode\u003eETag\u003c/code\u003e Request Header and the operation was successful,\n    the values are the same. If you did not supply an \u003ccode\u003eETag\u003c/code\u003e Request\n    Header, you are recommended to check the \u003ccode\u003eETag\u003c/code\u003e Response\n    Header value against the object content you have just uploaded.\n\n    For static large objects, this value is the MD5 checksum of the\n    concatenated string of MD5 checksums and ETags for each of the\n    segments in the manifest, and not the MD5 checksum of the content\n    that was uploaded. Also the value is enclosed in double-quotes.\n\n    For dynamic large objects, the value is the MD5 checksum of the empty string.","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":745,"context_line":"            \u003cpara\u003eAlternatively, you can use \u0026PUT; with the"},{"line_number":746,"context_line":"                    \u003ccode\u003eX-Copy-From\u003c/code\u003e request header to"},{"line_number":747,"context_line":"                accomplish the same operation as the \u0026COPY; object"},{"line_number":748,"context_line":"                operation.\u003c/para\u003e"},{"line_number":749,"context_line":"            \u003cpara\u003eExample requests and responses:\u003c/para\u003e\u003citemizedlist\u003e"},{"line_number":750,"context_line":"                \u003clistitem\u003e\u003cpara\u003eCopy the \u003ccode\u003egoodbye\u003c/code\u003e object"},{"line_number":751,"context_line":"                        from the \u003ccode\u003emarktwain\u003c/code\u003e container to"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B6%2B4%3D","line":748,"updated":"2014-01-20 18:31:25.000000000","message":"The (corrected) text from PUT object about manifest and normal objects, and it\u0027s 5GB limit, needs to be duplicated here.","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":751,"context_line":"                        from the \u003ccode\u003emarktwain\u003c/code\u003e container to"},{"line_number":752,"context_line":"                        the \u003ccode\u003ejaneausten\u003c/code\u003e container:"},{"line_number":753,"context_line":"                            \u003ccode\u003ecurl -i $publicURL/marktwain/goodbye"},{"line_number":754,"context_line":"                            -X COPY -H \"X-Auth-Token: $token\" -H"},{"line_number":755,"context_line":"                            \"Destination: /janeausten/goodbye\"\u003c/code\u003e"},{"line_number":756,"context_line":"                        \u003cprogramlisting\u003eHTTP/1.1 201 Created"},{"line_number":757,"context_line":"Content-Length: 0"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B69k%3D","line":754,"updated":"2014-01-20 18:31:25.000000000","message":"Drop the / from \"/janeausten/goodbye\".\n\nActually, it will work, but the convention used elsewhere in the spec when headers have a container and/or object name is is \"{container}/{object}\", not \"/{container}/{object}\"","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"4b5e5d9c9ef1b508b869b2ea8a938988869804c8","unresolved":false,"context_lines":[{"line_number":791,"context_line":"            \u0026content-encoding-requestHeader;"},{"line_number":792,"context_line":"            \u0026content-disposition-requestHeader;"},{"line_number":793,"context_line":"            \u0026object-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":794,"context_line":"        \u003cresponse status\u003d\"201\"\u003e \u0026content-length-responseHeader;"},{"line_number":795,"context_line":"            \u0026copied-from-last-modified-responseHeader;"},{"line_number":796,"context_line":"            \u0026copied-from-responseHeader;"},{"line_number":797,"context_line":"            \u0026last-modified-responseHeader; \u0026ETag-responseHeader;"}],"source_content_type":"text/xml","patch_set":40,"id":"AAAAUH%2F%2B68k%3D","line":794,"updated":"2014-01-20 18:31:25.000000000","message":"Change \u0026content-length-responseHeader; to \u0026content-length-responseHeader-OP;\n\nChange \u0026ETag-responseHeader to \u0026ETag-responseHeader-COPY, where new text is:\n\n    The value is the MD5 checksum of the copied object content.\n    The value is not quoted.","commit_id":"43c8b68b5895e276dab9f25f8c16256b0659914c"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                    \u003creplaceable\u003earbitrary value\u003c/replaceable\u003e header."},{"line_number":193,"context_line":"                For example, \u003ccode\u003eX-Remove-Account-Meta-Book:"},{"line_number":194,"context_line":"                    x\u003c/code\u003e. The operation ignores the arbitrary"},{"line_number":195,"context_line":"                value.\u003c/para\u003e"},{"line_number":196,"context_line":"            \u003cpara\u003eThis operation does not accept a request"},{"line_number":197,"context_line":"                body.\u003c/para\u003e"},{"line_number":198,"context_line":"            \u003cpara\u003eExample requests and responses:\u003c/para\u003e\u003citemizedlist\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1hE%3D","line":195,"updated":"2014-01-21 18:00:39.000000000","message":"Insert para:\n\n    If the container already has other custom metadata items, a request to create,\n    update, or delete metadata does not affect those items.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            \u0026account-meta-temp-url-key-requestHeader;"},{"line_number":238,"context_line":"            \u0026account-meta-temp-url-key-2-requestHeader;"},{"line_number":239,"context_line":"            \u0026account-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":240,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader-OP;"},{"line_number":241,"context_line":"            \u0026content-type-responseHeader-NAMES;"},{"line_number":242,"context_line":"            \u0026trans-id-responseHeader; \u0026date-responseHeader;"},{"line_number":243,"context_line":"        \u003c/response\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1G8%3D","line":240,"updated":"2014-01-21 18:00:39.000000000","message":"change content-type-responseHeader-NAMES to content-type-responseHeader-OP","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                        the list when the number of names is exactly"},{"line_number":343,"context_line":"                        divisible by the \u003ccode\u003elimit\u003c/code\u003e"},{"line_number":344,"context_line":"                        value.\u003c/para\u003e\u003c/listitem\u003e\u003c/itemizedlist\u003e"},{"line_number":345,"context_line":"            \u003cpara\u003eIf the container does not exist or if the specified"},{"line_number":346,"context_line":"                account is not valid, the \u003cerrorcode\u003e404\u003c/errorcode\u003e"},{"line_number":347,"context_line":"                \u003cerrortext\u003eNot Found\u003c/errortext\u003e error code is"},{"line_number":348,"context_line":"                returned.\u003c/para\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1co%3D","line":345,"updated":"2014-01-21 18:00:39.000000000","message":"remove the \"or if the specified account is not valid\" (that would cause 403, not 404)","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":437,"context_line":"            \u003cpara\u003eTo create, update, or delete a custom metadata item,"},{"line_number":438,"context_line":"                use the \u003ccode\u003eX-Container-Meta-{name}\u003c/code\u003e header,"},{"line_number":439,"context_line":"                where \u003ccode\u003e{name}\u003c/code\u003e is the name of the metadata"},{"line_number":440,"context_line":"                item.\u003c/para\u003e"},{"line_number":441,"context_line":"            \u003cpara\u003eTo delete container metadata, send an empty value"},{"line_number":442,"context_line":"                for that header, such as for the"},{"line_number":443,"context_line":"                    \u003ccode\u003eX-Container-Meta-Book\u003c/code\u003e header. If the"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1ho%3D","line":440,"updated":"2014-01-21 18:00:39.000000000","message":"Insert para:\n\n    Subsequent requests for the same key and value pair overwrite the previous value.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":467,"context_line":"Content-Type: text/html; charset\u003dUTF-8"},{"line_number":468,"context_line":"X-Trans-Id: tx05dbd434c651429193139-0052d82635"},{"line_number":469,"context_line":"Date: Thu, 16 Jan 2014 18:34:29 GMT\u003c/programlisting\u003e\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":470,"context_line":"                \u003clistitem\u003e\u003cpara\u003eUpdate account"},{"line_number":471,"context_line":"                            metadata:\u003c/para\u003e\u003cpara\u003e\u003ccode\u003ecurl -i"},{"line_number":472,"context_line":"                            $publicURL/marktwain -X POST -H"},{"line_number":473,"context_line":"                            \"X-Auth-Token: $token\" -H"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1Bo%3D","line":470,"updated":"2014-01-21 18:00:39.000000000","message":"Change \"account\" to \"container\"","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":478,"context_line":"Content-Type: text/html; charset\u003dUTF-8"},{"line_number":479,"context_line":"X-Trans-Id: txe60c7314bf614bb39dfe4-0052d82653"},{"line_number":480,"context_line":"Date: Thu, 16 Jan 2014 18:34:59 GMT\u003c/programlisting\u003e\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":481,"context_line":"                \u003clistitem\u003e\u003cpara\u003eDelete account"},{"line_number":482,"context_line":"                            metadata:\u003c/para\u003e\u003cpara\u003e\u003ccode\u003ecurl -i"},{"line_number":483,"context_line":"                            $publicURL/marktwain -X POST -H"},{"line_number":484,"context_line":"                            \"X-Auth-Token: $token\" -H"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1BU%3D","line":481,"updated":"2014-01-21 18:00:39.000000000","message":"Change \"account\" to \"container\"","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":539,"context_line":"                    \u003creturnvalue\u003e204\u003c/returnvalue\u003e status code.\u003c/para\u003e"},{"line_number":540,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":541,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-optional;"},{"line_number":542,"context_line":"            \u0026newest-requestHeader; \u003c/request\u003e"},{"line_number":543,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader-HEAD;"},{"line_number":544,"context_line":"            \u0026container-object-count-responseHeader;"},{"line_number":545,"context_line":"            \u0026accept-ranges-responseHeader;"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1oE%3D","line":542,"updated":"2014-01-21 18:00:39.000000000","message":"change:\n\n    content-length-responseHeader-HEAD to content-length-responseHeader-OP\n    ontent-type-responseHeader to ontent-type-responseHeader-OP","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":663,"context_line":"            \u0026content-encoding-responseHeader;"},{"line_number":664,"context_line":"            \u0026content-disposition-responseHeader;"},{"line_number":665,"context_line":"            \u0026delete-at-responseHeader;"},{"line_number":666,"context_line":"            \u0026object-meta-name-responseHeader;"},{"line_number":667,"context_line":"            \u0026static-large-object-responseHeader;"},{"line_number":668,"context_line":"            \u0026trans-id-responseHeader; \u0026date-responseHeader;"},{"line_number":669,"context_line":"        \u003c/response\u003e \u0026fault404; \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B07E%3D","line":666,"updated":"2014-01-21 18:00:39.000000000","message":"Add object-manifest-responseHeader","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":723,"context_line":"                code.\u003c/para\u003e"},{"line_number":724,"context_line":"            \u003cpara\u003eThe \u003ccode\u003e411 Length Required\u003c/code\u003e error code"},{"line_number":725,"context_line":"                indicates a missing \u003ccode\u003eTransfer-Encoding\u003c/code\u003e or"},{"line_number":726,"context_line":"                    \u003ccode\u003eContent-Type\u003c/code\u003e request header.\u003c/para\u003e"},{"line_number":727,"context_line":"            \u003cpara\u003eIf the MD5 checksum of the data that is written to"},{"line_number":728,"context_line":"                the object store does not match the optional"},{"line_number":729,"context_line":"                    \u003ccode\u003eETag\u003c/code\u003e value, the operation returns the"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1%2FI%3D","line":726,"updated":"2014-01-21 18:00:39.000000000","message":"change Content-Type to Content-Length","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":730,"context_line":"                    \u003ccode\u003e422 Unprocessable Entity\u003c/code\u003e error"},{"line_number":731,"context_line":"                code.\u003c/para\u003e"},{"line_number":732,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":733,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-put-requestParameter;"},{"line_number":734,"context_line":"            \u0026auth-token-requestHeader-optional;"},{"line_number":735,"context_line":"            \u0026content-length-requestHeader-putObj;"},{"line_number":736,"context_line":"            \u0026transfer-encoding-requestHeader;"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B07g%3D","line":733,"updated":"2014-01-21 18:00:39.000000000","message":"Add\n\n    object-manifest-requestHeader","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":739,"context_line":"            \u0026content-encoding-requestHeader; \u0026delete-at-requestHeader;"},{"line_number":740,"context_line":"            \u0026delete-after-requestHeader;"},{"line_number":741,"context_line":"            \u0026object-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":742,"context_line":"        \u003cresponse status\u003d\"201\"\u003e \u0026last-modified-responseField;"},{"line_number":743,"context_line":"            \u0026content-length-responseHeader; \u0026ETag-responseHeader-PUT;"},{"line_number":744,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":745,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e \u0026fault408; \u0026fault411;"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B2CY%3D","line":742,"updated":"2014-01-21 18:00:39.000000000","message":"Change content-length-responseHeader to content-length-responseHeader-OP","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":867,"context_line":"Date: Wed, 15 Jan 2014 21:29:16 GMT\u003c/programlisting\u003e\u003c/para\u003e\u003c/listitem\u003e\u003c/itemizedlist\u003e"},{"line_number":868,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":869,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-delete-requestParameter;"},{"line_number":870,"context_line":"            \u0026auth-token-requestHeader-optional; \u003c/request\u003e"},{"line_number":871,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader;"},{"line_number":872,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":873,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B2Bo%3D","line":870,"updated":"2014-01-21 18:00:39.000000000","message":"change content-length-responseHeader to content-length-responseHeader-OP","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":876,"context_line":"        \u003c!-- show object metadata --\u003e"},{"line_number":877,"context_line":"        \u003cwadl:doc xmlns\u003d\"http://docbook.org/ns/docbook\" xml:lang\u003d\"EN\""},{"line_number":878,"context_line":"            title\u003d\"Show object metadata\"\u003e"},{"line_number":879,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eShows object metadata.\u003c/para\u003e"},{"line_number":880,"context_line":"            \u003cpara\u003eExample requests and"},{"line_number":881,"context_line":"                        responses:\u003c/para\u003e\u003citemizedlist\u003e\u003clistitem\u003e\u003cpara\u003eShow"},{"line_number":882,"context_line":"                        object metadata:\u003c/para\u003e\u003cpara\u003e\u003ccode\u003ecurl -i"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1p0%3D","line":879,"updated":"2014-01-21 18:00:39.000000000","message":"Add a para:\n\n    If the \u003ccode\u003eContent-Length\u003c/code\u003e response header is non-zero the\n    example cURL command will stall after it prints the response headers. This\n    is because it is waiting for a response body. However, the Object Storage system\n    does not return a response body for the \u0026HEAD; operation.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":903,"context_line":"            \u0026content-length-responseHeader-HEAD;"},{"line_number":904,"context_line":"            \u0026content-type-responseHeader; \u0026ETag-responseHeader;"},{"line_number":905,"context_line":"            \u0026content-encoding-responseHeader;"},{"line_number":906,"context_line":"            \u0026content-disposition-responseHeader;"},{"line_number":907,"context_line":"            \u0026delete-at-responseHeader; \u0026delete-after-responseHeader;"},{"line_number":908,"context_line":"            \u0026object-meta-name-responseHeader;"},{"line_number":909,"context_line":"            \u0026static-large-object-responseHeader;"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1%2Bc%3D","line":906,"updated":"2014-01-21 18:00:39.000000000","message":"Remove  \u0026delete-after-responseHeader;\n\nAdd \u0026object-manifest-responseHeader;","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":915,"context_line":"            title\u003d\"Create or update object metadata\"\u003e"},{"line_number":916,"context_line":"            \u003cpara role\u003d\"shortdesc\"\u003eCreates or updates object"},{"line_number":917,"context_line":"                metadata.\u003c/para\u003e"},{"line_number":918,"context_line":"            \u003cpara\u003eTo create or update metadata, use the"},{"line_number":919,"context_line":"                    \u003ccode\u003eX-Object-Meta-{name}\u003c/code\u003e header, where"},{"line_number":920,"context_line":"                    \u003ccode\u003e{name}\u003c/code\u003e is the name of the metadata"},{"line_number":921,"context_line":"                item.\u003c/para\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1zA%3D","line":918,"updated":"2014-01-21 18:00:39.000000000","message":"Change \"To create or update metadata,..\" to \"To create or update custom metadata,..\"","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":919,"context_line":"                    \u003ccode\u003eX-Object-Meta-{name}\u003c/code\u003e header, where"},{"line_number":920,"context_line":"                    \u003ccode\u003e{name}\u003c/code\u003e is the name of the metadata"},{"line_number":921,"context_line":"                item.\u003c/para\u003e"},{"line_number":922,"context_line":"            \u003cpara\u003eYou cannot use this operation to change other"},{"line_number":923,"context_line":"                headers, such as the \u003ccode\u003eContent-Type\u003c/code\u003e"},{"line_number":924,"context_line":"                header.\u003c/para\u003e"},{"line_number":925,"context_line":"            \u003cpara\u003eA \u0026POST; request deletes any existing metadata that"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1yk%3D","line":922,"updated":"2014-01-21 18:00:39.000000000","message":"Change this para to:\n\n    In addition to the custom metadata, you can also update the\n    following system metadata items:\n\n        \u003ccode\u003eContent-Type\u003c/code\u003e\n        \u003ccode\u003eContent-Encoiding\u003c/code\u003e\n        \u003ccode\u003eContent-Disposition\u003c/code\u003e\n        \u003ccode\u003eX-Delete-At\u003c/code\u003e\n        \n\n    However you cannot update\n    other system metadata such as \u003ccode\u003eContent-Length\u003c/code\u003e or\n    \u003ccode\u003eLast-Modified\u003c/code\u003e.","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":923,"context_line":"                headers, such as the \u003ccode\u003eContent-Type\u003c/code\u003e"},{"line_number":924,"context_line":"                header.\u003c/para\u003e"},{"line_number":925,"context_line":"            \u003cpara\u003eA \u0026POST; request deletes any existing metadata that"},{"line_number":926,"context_line":"                you added with a previous \u0026PUT; or \u0026POST; request."},{"line_number":927,"context_line":"                Consequently, you must specify all custom metadata in"},{"line_number":928,"context_line":"                the request.\u003c/para\u003e"},{"line_number":929,"context_line":"            \u003cpara\u003eYou can also set the \u003ccode\u003eX-Delete-At\u003c/code\u003e or"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1vs%3D","line":926,"updated":"2014-01-21 18:00:39.000000000","message":"Change this to:\n\n    A \u0026POST; request deletes any existing custom  metadata that\n    you added with a previous \u0026PUT; or \u0026POST; request.\n    Consequently, you must specify all custom metadata in the request.\n    However, system metadata is unchanged by the \u0026POST; request (unless\n    explicitly supplied in a Request Header).","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":929,"context_line":"            \u003cpara\u003eYou can also set the \u003ccode\u003eX-Delete-At\u003c/code\u003e or"},{"line_number":930,"context_line":"                    \u003ccode\u003eX-Delete-After\u003c/code\u003e header to define when"},{"line_number":931,"context_line":"                to expire the object.\u003c/para\u003e"},{"line_number":932,"context_line":"            \u003cpara\u003eSee the copy object operation for information about"},{"line_number":933,"context_line":"                how to update metadata or other headers, such as"},{"line_number":934,"context_line":"                    \u003ccode\u003eContent-Type\u003c/code\u003e or CORS headers.\u003c/para\u003e"},{"line_number":935,"context_line":"            \u003cpara\u003eThis operation does not accept a request"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1vU%3D","line":932,"updated":"2014-01-21 18:00:39.000000000","message":"Delete this (about using copy) since it no longer applies (at one time, you could not change Content-Type so this was added as a work-around)","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":964,"context_line":"            \u003c/itemizedlist\u003e"},{"line_number":965,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":966,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-optional;"},{"line_number":967,"context_line":"            \u0026object-meta-name-requestHeader; \u0026delete-at-requestHeader;"},{"line_number":968,"context_line":"            \u0026delete-after-requestHeader; \u0026content-type-requestHeader; \u003c/request\u003e"},{"line_number":969,"context_line":"        \u003cresponse status\u003d\"202\"\u003e \u0026content-length-responseHeader;"},{"line_number":970,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B1uI%3D","line":967,"updated":"2014-01-21 18:00:39.000000000","message":"Add\n   \n    content-disposition-requestHeader\n    content-encoding-requestHeader","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"e1c005eac46a3d9fd186655734833fa77d00e408","unresolved":false,"context_lines":[{"line_number":966,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-optional;"},{"line_number":967,"context_line":"            \u0026object-meta-name-requestHeader; \u0026delete-at-requestHeader;"},{"line_number":968,"context_line":"            \u0026delete-after-requestHeader; \u0026content-type-requestHeader; \u003c/request\u003e"},{"line_number":969,"context_line":"        \u003cresponse status\u003d\"202\"\u003e \u0026content-length-responseHeader;"},{"line_number":970,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":971,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"},{"line_number":972,"context_line":"    \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":43,"id":"AAAAUH%2F%2B2Bc%3D","line":969,"updated":"2014-01-21 18:00:39.000000000","message":"change content-length-responseHeader to content-length-responseHeader-OP","commit_id":"f85c6f97853c0fe4f523366f8826b4fa924af569"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                        can verify that you have reached the end of"},{"line_number":124,"context_line":"                        the list when the number of names is exactly"},{"line_number":125,"context_line":"                        divisible by the \u003ccode\u003elimit\u003c/code\u003e"},{"line_number":126,"context_line":"                        value.\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":127,"context_line":"            \u003c/itemizedlist\u003e"},{"line_number":128,"context_line":"            \u003cpara\u003eThe response body returns a list of containers. The"},{"line_number":129,"context_line":"                default response (\u003ccode\u003etext/plain\u003c/code\u003e) returns one"}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2Bm4Y%3D","line":126,"updated":"2014-01-23 23:01:49.000000000","message":"I don\u0027t think divisibility enters into it. If I request a listing with limit\u003dN, and I get back *fewer than* N entries, then I know the listing is complete. If I get exactly N entries, then I have to keep asking.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                        can verify that you have reached the end of"},{"line_number":124,"context_line":"                        the list when the number of names is exactly"},{"line_number":125,"context_line":"                        divisible by the \u003ccode\u003elimit\u003c/code\u003e"},{"line_number":126,"context_line":"                        value.\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":127,"context_line":"            \u003c/itemizedlist\u003e"},{"line_number":128,"context_line":"            \u003cpara\u003eThe response body returns a list of containers. The"},{"line_number":129,"context_line":"                default response (\u003ccode\u003etext/plain\u003c/code\u003e) returns one"}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2BiHk%3D","line":126,"in_reply_to":"AAAAUH%2F%2Bm4Y%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            \u003cpara\u003eSpecify query parameters in the request to filter"},{"line_number":311,"context_line":"                the list and return a subset of object names. Omit"},{"line_number":312,"context_line":"                query parameters to return the complete list of object"},{"line_number":313,"context_line":"                names that are stored in the container, up to 10,000"},{"line_number":314,"context_line":"                names.\u003c/para\u003e"},{"line_number":315,"context_line":"            \u003cpara\u003eExample requests and responses:\u003c/para\u003e\u003citemizedlist\u003e"},{"line_number":316,"context_line":"                \u003clistitem\u003e"}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2Bm2c%3D","line":313,"updated":"2014-01-23 23:01:49.000000000","message":"FWIW, that 10,000 is a configurable value, and the cluster\u0027s value may be found in the response to GET /info.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            \u003cpara\u003eSpecify query parameters in the request to filter"},{"line_number":311,"context_line":"                the list and return a subset of object names. Omit"},{"line_number":312,"context_line":"                query parameters to return the complete list of object"},{"line_number":313,"context_line":"                names that are stored in the container, up to 10,000"},{"line_number":314,"context_line":"                names.\u003c/para\u003e"},{"line_number":315,"context_line":"            \u003cpara\u003eExample requests and responses:\u003c/para\u003e\u003citemizedlist\u003e"},{"line_number":316,"context_line":"                \u003clistitem\u003e"}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2BiHE%3D","line":313,"in_reply_to":"AAAAUH%2F%2Bm2c%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                        and you have reached the end of the list. You"},{"line_number":343,"context_line":"                        can verify that you have reached the end of"},{"line_number":344,"context_line":"                        the list when the number of names is exactly"},{"line_number":345,"context_line":"                        divisible by the \u003ccode\u003elimit\u003c/code\u003e"},{"line_number":346,"context_line":"                        value.\u003c/para\u003e\u003c/listitem\u003e\u003c/itemizedlist\u003e"},{"line_number":347,"context_line":"            \u003cpara\u003eIf the container does not exist, the"},{"line_number":348,"context_line":"                    \u003cerrorcode\u003e404\u003c/errorcode\u003e"}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2Bm2I%3D","line":345,"updated":"2014-01-23 23:01:49.000000000","message":"Same thing re: divisibility as before.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":342,"context_line":"                        and you have reached the end of the list. You"},{"line_number":343,"context_line":"                        can verify that you have reached the end of"},{"line_number":344,"context_line":"                        the list when the number of names is exactly"},{"line_number":345,"context_line":"                        divisible by the \u003ccode\u003elimit\u003c/code\u003e"},{"line_number":346,"context_line":"                        value.\u003c/para\u003e\u003c/listitem\u003e\u003c/itemizedlist\u003e"},{"line_number":347,"context_line":"            \u003cpara\u003eIf the container does not exist, the"},{"line_number":348,"context_line":"                    \u003cerrorcode\u003e404\u003c/errorcode\u003e"}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2BiHA%3D","line":345,"in_reply_to":"AAAAUH%2F%2Bm2I%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2622,"name":"Samuel Merritt","email":"spam+launchpad@andcheese.org","username":"torgomatic"},"change_message_id":"2bae92676845689cdafcce8575b7b067f4f86e4b","unresolved":false,"context_lines":[{"line_number":446,"context_line":"                for that header, such as for the"},{"line_number":447,"context_line":"                    \u003ccode\u003eX-Container-Meta-Book\u003c/code\u003e header. If the"},{"line_number":448,"context_line":"                tool you use to communicate with Object Storage, such"},{"line_number":449,"context_line":"                as older versions of cURL, does not support empty"},{"line_number":450,"context_line":"                headers, send the"},{"line_number":451,"context_line":"                    \u003ccode\u003eX-Remove-Container-Meta-{name}\u003c/code\u003e:"},{"line_number":452,"context_line":"                    \u003creplaceable\u003earbitrary value\u003c/replaceable\u003e header."}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2Bm0M%3D","line":449,"updated":"2014-01-23 23:01:49.000000000","message":"\"an older version\", perhaps, to keep everything singular.","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":2448,"name":"Diane Fleming","email":"dfleming@austin.rr.com","username":"diane-fleming"},"change_message_id":"2132154a36c6b906ffb57c63ef47b2fc4b7b770d","unresolved":false,"context_lines":[{"line_number":446,"context_line":"                for that header, such as for the"},{"line_number":447,"context_line":"                    \u003ccode\u003eX-Container-Meta-Book\u003c/code\u003e header. If the"},{"line_number":448,"context_line":"                tool you use to communicate with Object Storage, such"},{"line_number":449,"context_line":"                as older versions of cURL, does not support empty"},{"line_number":450,"context_line":"                headers, send the"},{"line_number":451,"context_line":"                    \u003ccode\u003eX-Remove-Container-Meta-{name}\u003c/code\u003e:"},{"line_number":452,"context_line":"                    \u003creplaceable\u003earbitrary value\u003c/replaceable\u003e header."}],"source_content_type":"text/xml","patch_set":49,"id":"AAAAUH%2F%2BiGs%3D","line":449,"in_reply_to":"AAAAUH%2F%2Bm0M%3D","updated":"2014-01-24 17:18:19.000000000","message":"Done","commit_id":"c4423ffa129205850ea888c82a3b22162f8b8574"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aa243b4b00092fbd6c4b45b4cb570052991d32fe","unresolved":false,"context_lines":[{"line_number":543,"context_line":"            \u0026container-sync-key-requestHeader;"},{"line_number":544,"context_line":"            \u0026versions-location-requestHeader;"},{"line_number":545,"context_line":"            \u0026remove-versions-location-requestHeader;"},{"line_number":546,"context_line":"            \u0026container-meta-name-requestHeader;"},{"line_number":547,"context_line":"            \u0026remove-account-meta-name-requestHeader; \u003c/request\u003e"},{"line_number":548,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader-OP;"},{"line_number":549,"context_line":"            \u0026content-type-responseHeader-OP; \u0026trans-id-responseHeader;"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BSoY%3D","line":546,"updated":"2014-01-28 11:02:34.000000000","message":"Remove:\n\n    \u0026remove-account-meta-name-requestHeader\n\n(this is the CONTAINER op)","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"8277c16db1a171a76dd0d983736b62504fcaa361","unresolved":false,"context_lines":[{"line_number":698,"context_line":"                    \u003eHeader Field Definitions\u003c/link\u003e.\u003c/para\u003e"},{"line_number":699,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":700,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-optional;"},{"line_number":701,"context_line":"            \u0026newest-requestHeader;"},{"line_number":702,"context_line":"            \u0026multipart-manifest-get-requestParameter;"},{"line_number":703,"context_line":"            \u0026range-requestHeader; \u0026if-match-requestHeader;"},{"line_number":704,"context_line":"            \u0026if-none-match-requestHeader;"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BW%2FU%3D","line":701,"updated":"2014-01-27 18:41:17.000000000","message":"Add\n\n    signature-requestParameter\n    expires-requestParameter","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"8277c16db1a171a76dd0d983736b62504fcaa361","unresolved":false,"context_lines":[{"line_number":783,"context_line":"                    \u003ccode\u003e422 Unprocessable Entity\u003c/code\u003e error"},{"line_number":784,"context_line":"                code.\u003c/para\u003e"},{"line_number":785,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":786,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-put-requestParameter;"},{"line_number":787,"context_line":"            \u0026object-manifest-requestHeader;"},{"line_number":788,"context_line":"            \u0026auth-token-requestHeader-optional;"},{"line_number":789,"context_line":"            \u0026content-length-requestHeader-putObj;"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BW9k%3D","line":786,"updated":"2014-01-27 18:41:17.000000000","message":"Add\n\n    signature-requestParameter\n    expires-requestParameter","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aa243b4b00092fbd6c4b45b4cb570052991d32fe","unresolved":false,"context_lines":[{"line_number":902,"context_line":"            \u003cpara\u003eFor static large object manifests, you can add the"},{"line_number":903,"context_line":"                    \u003ccode\u003e?multipart-manifest\u003ddelete\u003c/code\u003e query"},{"line_number":904,"context_line":"                parameter. This operation deletes the segment objects"},{"line_number":905,"context_line":"                and if all deletions succeed, this operation deletes"},{"line_number":906,"context_line":"                the manifest object. This operation deletes objects"},{"line_number":907,"context_line":"                that have the \u003ccode\u003eX-Delete-At\u003c/code\u003e or"},{"line_number":908,"context_line":"                    \u003ccode\u003eX-Delete-After\u003c/code\u003e header assigned within"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BSu0%3D","line":905,"updated":"2014-01-28 11:02:34.000000000","message":"Remove rest of para starting at \"This operation deletes objects that have X-Delete-At...\"","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aa243b4b00092fbd6c4b45b4cb570052991d32fe","unresolved":false,"context_lines":[{"line_number":930,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":931,"context_line":"        \u003crequest\u003e \u0026multipart-manifest-delete-requestParameter;"},{"line_number":932,"context_line":"            \u0026auth-token-requestHeader-optional; \u003c/request\u003e"},{"line_number":933,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026content-length-responseHeader-OP;"},{"line_number":934,"context_line":"            \u0026content-type-responseHeader; \u0026trans-id-responseHeader;"},{"line_number":935,"context_line":"            \u0026date-responseHeader; \u003c/response\u003e"},{"line_number":936,"context_line":"    \u003c/method\u003e"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BStE%3D","line":933,"updated":"2014-01-28 11:02:34.000000000","message":"Don\u0027t use the 204 response status. In fact, (per Sam\u0027s comment) we need to say something like:\n\n    Normally the DELETE operation odes not return a response body. However, with\n    the \u003ccode\u003e?multipart-manifest\u003ddelete\u003c/code\u003e query parameter, the response\n    body contains a list of manifest and segment objects and the status of their\n    delete operation.","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"8277c16db1a171a76dd0d983736b62504fcaa361","unresolved":false,"context_lines":[{"line_number":968,"context_line":"            \u003cpara\u003eIf the request succeeds, the operation returns the"},{"line_number":969,"context_line":"                    \u003creturnvalue\u003e204\u003c/returnvalue\u003e status code.\u003c/para\u003e"},{"line_number":970,"context_line":"        \u003c/wadl:doc\u003e"},{"line_number":971,"context_line":"        \u003crequest\u003e \u0026auth-token-requestHeader-required;"},{"line_number":972,"context_line":"            \u0026newest-requestHeader; \u003c/request\u003e"},{"line_number":973,"context_line":"        \u003cresponse status\u003d\"204\"\u003e \u0026last-modified-responseHeader;"},{"line_number":974,"context_line":"            \u0026content-length-responseHeader;"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BW%2BI%3D","line":971,"updated":"2014-01-27 18:41:17.000000000","message":"Add\n\n    signature-requestParameter\n    expires-requestParameter","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"},{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"8277c16db1a171a76dd0d983736b62504fcaa361","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"            \u003cpara\u003eYou can also set the \u003ccode\u003eX-Delete-At\u003c/code\u003e or"},{"line_number":1011,"context_line":"                    \u003ccode\u003eX-Delete-After\u003c/code\u003e header to define when"},{"line_number":1012,"context_line":"                to expire the object.\u003c/para\u003e"},{"line_number":1013,"context_line":"            \u003cpara\u003eThis operation does not accept a request"},{"line_number":1014,"context_line":"                body.\u003c/para\u003e"},{"line_number":1015,"context_line":"            \u003cpara\u003eExample requests and"},{"line_number":1016,"context_line":"                        responses:\u003c/para\u003e\u003citemizedlist\u003e\u003clistitem\u003e\u003cpara\u003eCreate"}],"source_content_type":"text/xml","patch_set":52,"id":"AAAAUH%2F%2BW7Q%3D","line":1013,"updated":"2014-01-27 18:41:17.000000000","message":"Change \"This operation does not accept a request body\" to:\n\n    When used as described in this section, the POST operation creates or replaces\n    metadata. This form of the operation has no request body.\n\n    The POST operation may also be used by the Form POST feature to upload\n    objects. See the (API spec ref to Form POST) for more information.","commit_id":"a88b68d8e482a40783f5a9820536e5d37ec4b2b6"}],"api-ref/src/wadls/object-api/src/samples/account-get-metadata-resp.txt":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"HTTP/1.1 204 No Content"},{"line_number":2,"context_line":"Date: Thu, 07 Jun 2010 18:57:07 GMT"},{"line_number":3,"context_line":"Server: Apache"},{"line_number":4,"context_line":"X-Account-Container-Count: 3"},{"line_number":5,"context_line":"X-Account-Bytes-Used: 323479"}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2FmR4%3D","line":2,"updated":"2014-01-10 16:39:41.000000000","message":"Remove the Server header","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"}],"api-ref/src/wadls/object-api/src/samples/account_containers_list_response.xml":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"aeded6dc16c4c886372d4bd53a5fa555847e3841","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\u003c?xml version\u003d\"1.0\" encoding\u003d\"UTF-8\"?\u003e"},{"line_number":2,"context_line":"\u003caccount name\u003d\"AUTH_73f0aa26640f4971864919d0eb0f0880\"\u003e"},{"line_number":3,"context_line":"    \u003ccontainer\u003e"},{"line_number":4,"context_line":"        \u003cname\u003ejaneausten\u003c/name\u003e"}],"source_content_type":"application/xml","patch_set":37,"id":"AAAAUH%2F%2B9jM%3D","line":1,"updated":"2014-01-20 12:23:38.000000000","message":"change AUTH_73f0aa26640f4971864919d0eb0f0880 to \"my_account\" (to be same as intro at top of document)","commit_id":"4fabd6bece9a2aed358e4a61166c5b38126d8e44"}],"api-ref/src/wadls/object-api/src/samples/getcontainer_details_httphead.msg":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"GET /{api_version}/{account}?format\u003djson HTTP/1.1"},{"line_number":2,"context_line":"Host: storage.swiftdrive.com"},{"line_number":3,"context_line":"Content-Length: 0"},{"line_number":4,"context_line":"X-Storage-Token: 182f9c0af0e828cfe3281767d29d19f4"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"AAAAUH%2F%2Fn6U%3D","line":3,"updated":"2014-01-10 16:39:41.000000000","message":"Change \"X-Storage-Token\" to \"X-Auth-Token\"\n\nThis needs to be done everywhere (~13 places)","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"}],"api-ref/src/wadls/object-api/src/samples/getcontainer_details_httphead_xml.msg":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"GET /{api_version}/{account}?format\u003dxml HTTP/1.1"},{"line_number":2,"context_line":"Host: storage.swiftdrive.com"},{"line_number":3,"context_line":"Content-Length: 0"},{"line_number":4,"context_line":"X-Storage-Token: 182f9c0af0e828cfe3281767d29d19f4"}],"source_content_type":"application/octet-stream","patch_set":13,"id":"AAAAUH%2F%2FmRY%3D","line":3,"updated":"2014-01-10 16:39:41.000000000","message":"Change to X-Auth-Token","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"}],"api-ref/src/wadls/object-api/src/samples/object-list-req.txt":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"GET /\u003capi version\u003e/\u003caccount\u003e/\u003ccontainer\u003e[?parm\u003dvalue] HTTP/1.1"},{"line_number":2,"context_line":"Host: storage.swiftdrive.com"},{"line_number":3,"context_line":"X-Auth-Token: eaaafd18-0fed-4b3a-81b4-663c99ec1cbb"}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2Fnas%3D","line":1,"updated":"2014-01-10 16:39:41.000000000","message":"This is supposed to be an example of requesting jason, so it should be:\n\nGET /\u003capi version\u003e/\u003caccount\u003e/\u003ccontainer\u003e?format\u003djson HTTP/1.1","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"}],"api-ref/src/wadls/object-api/src/samples/object-list-resp.txt":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"5f139321d9b9671ab0f27d005c9e075fcabafe5d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"HTTP/1.1 200 Ok"},{"line_number":2,"context_line":"Date: Thu, 07 Jun 2010 18:50:19 GMT"},{"line_number":3,"context_line":"Server: Apache"},{"line_number":4,"context_line":"Content-Type: text/plain; charset\u003dUTF-8"},{"line_number":5,"context_line":"Content-Length: 171"}],"source_content_type":"text/plain","patch_set":13,"id":"AAAAUH%2F%2FmRI%3D","line":2,"updated":"2014-01-10 16:39:41.000000000","message":"Remove Server header","commit_id":"c28818887445e1c7aecdaf3a4150bd1ac77190ab"}]}
