[
https://issues.apache.org/jira/browse/ZOOKEEPER-809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrei Savu updated ZOOKEEPER-809:
----------------------------------
Attachment: SPEC.txt
I've attached the first draft of the SPECs for an improved REST gateway.
I'm proposing the following new operations:
1. create a new session -- POST /sessions/v1?op=create HTTP/1.1
2. keep the session alive -- PUT /sessions/v1/<SESSION-ID> HTTP/1.1
3. close the session -- DELETE /sessions/v1/<SESSION-ID> HTTP/1.1
4. create an ephemeral node -- POST
/znodes/v1/a/b?op=create&name=c&ephemeral=true&session=<SESSION-ID> HTTP/1.1
5. create a new watch -- POST /znodes/v1/a/b?op=watch&view=data OR
children&session=<SESSION-ID> HTTP/1.1
6. query watch status -- GET /sessions/v1/<SESSION-ID>/watches/<WATCH-ID>
HTTP/1.1
This operation could support long-polling in the future.
7. delete a triggered watch -- DELETE
/sessions/v1/<SESSION-ID>/watches/<WATCH-ID> HTTP/1.1
Let me know what you think about this. Am I breaking the REST principles?
This is what I want to do in the first iteration. In the second iteration I
would like to add support for ACLs and authentication.
> Improved REST Interface
> -----------------------
>
> Key: ZOOKEEPER-809
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-809
> Project: Zookeeper
> Issue Type: Improvement
> Components: contrib
> Reporter: Andrei Savu
> Assignee: Andrei Savu
> Attachments: SPEC.txt
>
>
> I would like to extend the existing REST Interface to also support:
> * configuration
> * ephemeral znodes
> * watches - PubSubHubbub
> * ACLs
> * basic authentication
> I want to do this because when building web applications that talks directly
> to ZooKeeper a REST API it's a lot easier to use (there is no protocol
> mismatch) than an API that uses persistent connections. I plan to use the
> improved version to build a web-based administrative interface.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.