Files
tricu/tricu-apps/arboricxServer.tri

24 lines
851 B
Plaintext

!import "../lib/io.tri" !Local
!import "../lib/arboricx/server.tri" !Local
-- Arboricx HTTP registry server.
-- Run with --allow-write ./store --allow-read ./store
--
-- Endpoints:
-- GET / -> HTML landing page
-- GET /_arboricx/health -> "OK"
-- POST /_arboricx/bundle -> upload bundle, returns hash
-- GET /_arboricx/bundle/hash/:h -> download bundle by hash
--
-- Example usage:
-- curl http://localhost:8080/
-- curl http://localhost:8080/_arboricx/health
-- curl -X POST --data-binary @mybundle.arboricx http://localhost:8080/_arboricx/bundles
-- curl http://localhost:8080/_arboricx/bundle/hash/<hash>
main = io (thenIO
(putStrLn "Starting Arboricx server on 0.0.0.0:8080")
(thenIO
(void (ensureStore "./store"))
(arboricxServer "./store" "0.0.0.0" 8080)))