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
Merge branch 'master' of https://code.grnet.gr/git/pithos
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.
Removed models from API.
Move to a better file organization
The Django project is a python package and needs to have aspecific name. We nest it inside the repository so that thename is under revision control.