Working GDP RESTful Interface needed for Signpost
We need a working RESTful interface to the GDP for the Signpost.
My understanding is that there was a RESTful interface at one time, but I'm not sure if it has been maintained.
Josh recently hacked together a RESTful interface that executes command-line scripts.
As far as the details of Josh's work, searching the signpost repo for gdp via https://github.com/lab11/signpost/search?utf8=%E2%9C%93&q=gdp yields some hits, I suggest starting with https://github.com/lab11/signpost/search?utf8=%E2%9C%93&q=gdp
Appending to GDP
To perform GDP appends the signpost_networking_post URL must be set to
If the log does not already exist, signpost-debug-radio will create the log for you before appending data. The signpost-debug-radio script will print 1) whether the log existed and 2) if the append was successful.
Who wants to take charge of this feature request?
Also, could someone add Beth Osyk email@example.com as a watcher to this bug?
#2 Updated by Anonymous over 6 years ago
Documentation for the RESTful interface may be found in the GDP repo as gdp/doc/gdp-rest-interface.html.
One open issue is that we also need to be able to do subscription.
We could do Long Polling (https://en.wikipedia.org/wiki/Push_technology#Long_polling)
Or, we could use a WebSockets interface. There is a WebSocketClient accessor (https://www.icyphy.org/accessors/library/index.html?accessor=net.WebSocketClient)
#3 Updated by Rick Pratt over 6 years ago
- % Done changed from 0 to 90
Documentation for the RESTful interface Draft 8 may be found in the GDP repo as gdp/doc/gdp-rest-interface.html.
RESTful Interface Updated
RESTful GCL create
- HTTP PUT and POST methods on /gdp/v1/gcl
- Creation parameters within HTML page, JSON format
- “external-name” required, whether PUT (specified name) or POST (random generated name) method
RESTful GCL append record
- HTTP POST method on /gdp/v1/gcl/<gcl_name>
- Append payload within HTML page, JSON format advised
RESTful GCL retrieve record
- HTTP GET method on /gdp/v1/gcl/<gcl_name>?<query>
RESTful Interface Deployed
- Basic client authentication and HTTPS (for Signpost)
Insecure http:// prefix produces no response
- Clients must authenticate (ask for a username:password)
- Server owns GCL writer keys on behalf of clients
- Any authenticated client can act on any owned GCL, for now
- Per client access control possible, if desired
- GET with subscribe-like functionality, even if not completely RESTful