Fix reading when apache does the dechunking.
bug fix chunked transfer
extended test with files containing greek & slashes
Add account list xml template.
Conditional object create/update.
Fix metadata keys in extended replies.
Fix web server compatibility.
Avoid using os.path.join to concat path strings.
Fix X-Container-Object-Meta.
extended tests and minor other changes
Always return 'Last-Modified' header at the account level.
Merge branch 'master' of https://code.grnet.gr/git/pithos
Fix url parsing.
Option to show only shared containers/objects in listings.
Refs #765
extend api tests + bug fixing client lib
Cross-account operations in backend/API/docs.
Refs #763
extend client lib to support extended xml mode
-listing methods get specific format parameter instead of the detail paramster-bug fixes
client lib separated in two major classes (oos and pithos)
api tests:- modifications to work with the refined client libcommand line client:- modifications to work with the refined client lib- purge support- minor other changes
Clean up authorization in the backend. Fix groups.
Add API calls to purge container/object history (2).
Ignore the Accept header.
Fix If-Range.
Allow authentication token to be set anywhere.
Conflicts: pithos/api/tests.py
Object create via POST, when Content-Type is 'multipart/form-data'.
change current api tests to use client lib to interact with the server instead of using django testing environment
Refs #761
extend api object write to accept xml formatted requests containing hashmap information instead of actual data
socket_read_iterator raises BadRequest if maximum size is reached
Fix Content-Length.
Return a correct x-storage-url
Use the value of X-Auth-User instead of 'demo'
Object truncate.
Option to update an object using another object's data.
Do not use the 'Accept' header on PUT to get 'format'.
Bug fix.
Fix bug/tests.
Return the conflicting path in the reply, when refusing to change permissions because of a conflict.
Refs #449
New public objects implementation.
Fixes #595
Fixes data and content-type headers in no content POST requests for objects
If-Range header implementation in object GET
Return the correct token in authenticate
correct spelling
extend api to create an object by uploading the hashmap instead of actual data
- enable format parameter in PUT requests on objects- when format is json the api instead of actual data expects a json formatted dictionary (similar to one returned by extended GET responses) containing information about the block identities...
Add account groups, merge into sharing. Fix tests.
Add a dummy authentication middleware
The username - token mapping is stored statically in settings.py
You will need to update your settings.py after this commit.
Update versioning.
- Allow non-integer version identifiers.- Use 'X-Object-Modified-By' to trace the user that created a version.- Fix 'X-Object-Version-Timestamp' header formatting.
Rebuild the database, or:sqlite> alter table versions add column user text;...
Updated permissions support.
Document 'update' parameter. Add to account/container POST.
Fix POST to delete metadata when none is supplied. Add 'update' parameter to update certain meta values only.
Fix version list and copy from version when the object is deleted.Remove 'public' from permissions.
Initial permissions support.
Refs #449Refs #595
Fix tests (object HEAD returns 200).
Add recommended practices/examples in docs.
Bug fixes.
slight modifications to support list object versionsRefs #593
Add an X-Object-Size response header
204 responses set Content-Length to 0 and a different header isneeded in order to get the object size.
Fix manifest and copy/move prefix parsing.
Add template for version list.
Refs #593
Large object support.
Remove strip() from tests.
fixes chunked transfer data
Document versioning and public objects.
Fixes #593Fixes #595
Versioning extras, including account/container "time machine".
Limit metadata in object headers accessed via /public. Simplify implementation.
Refs #595
Pass account from request URL to backend functions and not request.user.
Support public files.
Use 'X-Object-Public' to mark files as public. Then they can be accessed via the /public URL without authentication.
Advanced versioning support. New backend.
- Everything is versioned in the backend.- Time-controlled account/container listings.- Initial API support with the 'version' parameter in object HEAD/GET.
#Fixes 451
Fix precondition check replies.
Fixes #565
Fixes chunked object post with specific upto range limit
import missing hashlib
Fix Content-Range parsing.
Produce new ETag when updating an object (corrected).
Produce new ETag when updating an object.
Include storage type in container meta/hashmap replies. Minor doc updates.
Document partial object updates and hashmaps.
Refs #563
Handle partial object updates through POST.
Fix object GET.
minor improvements
add license
additional api tests
Add license.
Fixes #577
Provide metadata functions for tags and trash support. Restructure backend to work with blocks and hashmaps.
Fix account/container size reporting, zero-length object uploading.
Add unit tests for backend and API
Fixes #451Fixes #453
Implement basic functionality plus some extras
The API is based on the Apr. 15, 2011 release of the OpenStack Object Storage API v1.The implementation is broken up into two layers - frontend (API) and backend (data and metadata handling).The API is documented in the wiki. The following list is copied here for reference....
Update default settings. Minor changes.
Clean up, sort out logging.
Make sure unicode strings work for container and object names, as well as metadata (keys and values).
Merge API and backend.
Allow for account/container metadata.
Merge API and backend container functions
Testing containers with the cloudfiles python bindings.