Feature #95
Working GDP RESTful Interface needed for Signpost
100%
Description
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
https://github.com/lab11/signpost/tree/master/software/receiver/debug_radio#appending-to-gdp says:
Appending to GDP
To perform GDP appends the signpost_networking_post URL must be set to
gdp.lab11.eecs.umich.edu/gdp/v1//append
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 beth@berkeley.edu as a watcher to this bug?
History
#1 Updated by Eric Allman over 6 years ago
- Assignee set to Rick Pratt
#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.
Summary¶
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)
https://gdp-rest-01.eecs.berkeley.edu/
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
Open Item:
- GET with subscribe-like functionality, even if not completely RESTful
#4 Updated by Eric Allman over 6 years ago
- Status changed from New to In Progress
#5 Updated by Rick Pratt over 6 years ago
- Status changed from In Progress to Resolved
- % Done changed from 90 to 100
The Virtual Instrumentation requirement (read subscription service) is now New Issue 108 with an evaluation attached.
#6 Updated by Eric Allman over 5 years ago
- Status changed from Resolved to Closed