-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Differentiate between Update and Post #25
Comments
I concur with separating UPDATE/POST/PUBLISH/WRITE actions to an endpoint separate from READ. Having as a separate endpoint will enable some nodes in an architecture to be read-only with the data (similar to data-diode, etc) |
I think the API should only use POST only so it is not dependent on HTTP. Example: the OPC UA JSON WebAPI works with WebSockets and HTTP POST. The WebSockets mapping would have been much more difficult if OPC UA JSON WebApi used verbs other than POST. |
@randy-armstrong Good insight. My assumption is that mapping to HTTP should follow the Web of Things HTTP binding: https://w3c.github.io/wot-binding-templates/bindings/protocols/http/ While they do list POST to initialize websockets for the SUBSCRIBE function, READ is listed as "GET" and WRITE as "PUT". So your opinion is that the WoT HTTP binding is too coupled to http? |
WoT uses the outdated HTTP long poll for subscriptions. |
Hmmm...WoT http binding has long poll as one of three subscription methods: A.1.3 Observe property (HTTP binding with Long Polling subprotocol) A.1.4 Observe property (HTTP binding with Server Sent Event subprotocol) A.1.5 Observe property (HTTP binding with WebSocket subprotocol) The document I linked above is a draft, so maybe the other two are new additions? |
Sorry. Did not read far enough. They define a mapping from GET query parameters to a message. GET is also limited with the size of parameters and the parameters are public (i.e. they cannot be encrypted). |
Relevant discussion here: https://news.ycombinator.com/item?id=42600276 |
Splitting out #3
The text was updated successfully, but these errors were encountered: