Services/Sync/Protocol 2.0 changes: Difference between revisions
Jump to navigation
Jump to search
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
==Proposed changes to migrate to 2 | ==Proposed changes to migrate to 2== | ||
Change name of protocol, including URL prefix | |||
browserid support | browserid support | ||
* | * token server and metadata tokens | ||
* remove username from urls? | |||
max individual request size | max individual request size | ||
* right now we limit (not implemented in python!) wbo size, but not total size. Restrict post body size to | * right now we limit (not implemented in python!) wbo size, but not total size. Restrict post body size to 1M? Do this at Zeus level? What is the spec for return values. Overall post body size, including chunked overhead? | ||
drop parentid | drop parentid | ||
Line 13: | Line 14: | ||
drop predecessorid | drop predecessorid | ||
return milliseconds since epoch | |||
* figure out how to get the timestamp into integer precision | * figure out how to get the timestamp into integer precision for internal storage | ||
405 for wrong method | 405 for wrong method | ||
* Cornice probably buys us this directly | * Cornice probably buys us this directly | ||
304 not modified when X- | 304 not modified when X-If-Unmodified-Since < current | ||
* Saves processing the request body | * Saves processing the request body | ||
* Remove Weave name from all headers | |||
drop whoisi as a return format | drop whoisi as a return format | ||
generate better docs for how to implement backoff on client | |||
Incorporate metlog logging | |||
* talk to atoll about what we need to reimplement, to match zeus logging | |||
==Proposed changes to migrate to 2.1== | |||
delete /storage takes multiple collections | delete /storage takes multiple collections | ||
* Will give us the ability to delete "everything except keys" without using a loop | * Will give us the ability to delete "everything except keys" without using a loop | ||
sync sesssions with server-generated token - helps avoid races | sync sesssions with server-generated token - helps avoid races |
Latest revision as of 18:39, 19 January 2012
Proposed changes to migrate to 2
Change name of protocol, including URL prefix
browserid support
- token server and metadata tokens
- remove username from urls?
max individual request size
- right now we limit (not implemented in python!) wbo size, but not total size. Restrict post body size to 1M? Do this at Zeus level? What is the spec for return values. Overall post body size, including chunked overhead?
drop parentid
drop predecessorid
return milliseconds since epoch
- figure out how to get the timestamp into integer precision for internal storage
405 for wrong method
- Cornice probably buys us this directly
304 not modified when X-If-Unmodified-Since < current
- Saves processing the request body
- Remove Weave name from all headers
drop whoisi as a return format
generate better docs for how to implement backoff on client
Incorporate metlog logging
- talk to atoll about what we need to reimplement, to match zeus logging
Proposed changes to migrate to 2.1
delete /storage takes multiple collections
- Will give us the ability to delete "everything except keys" without using a loop
sync sesssions with server-generated token - helps avoid races
- generated on write without auth token if none exists on server side
- can't write if there's a token in place without it. Can't read? (may be inconsistent)
- need a way to have client expire token and length after which it autoexpires
- make it part of auth protocol
way to let the server know that there's a data problem
- have a flag that says "this account reported corrupted" to handle HMAC mismatches, etc
- Maybe in metaglobal?
- is this a storage problem? or particular to sync