unfurl
unfurl copied to clipboard
Add a "serve" command line option
Let's add a serve
command line option that runs unfurl as a simple HTTP server using flask.
The command should take these options: --port
(port to run on, default to ??), --address
(to bind to, eg. to restrict to localhost), and --secret
. If secret is set (also expose as UNFURL_SERVE_SECRET
using the click parameter) the api endpoints would require it to match an Authorization header or token
query parameter.
Serve would also take the optional ensemble argument just like as the other command and load that ensemble before starting the http server.
The first endpoint we'd want to expose would just be like the export
command and it would return the json rendered by export. It should cache the result because the json won't change as this initial implementation loads the ensemble as read-only.