22 lines
781 B
Plaintext
22 lines
781 B
Plaintext
!import "../../lib/io.tri" !Local
|
|
!import "../../lib/arboricx/server.tri" !Local
|
|
|
|
-- Arboricx HTTP registry server demo.
|
|
-- Run with --allow-write ./store --allow-read ./store
|
|
--
|
|
-- Endpoints:
|
|
-- 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:9050/_arboricx/health
|
|
-- curl -X POST --data-binary @mybundle.arboricx http://localhost:9050/_arboricx/bundles
|
|
-- curl http://localhost:9050/_arboricx/bundle/hash/<hash>
|
|
|
|
main = io (thenIO
|
|
(putStrLn "Starting Arboricx server on 127.0.0.1:9050")
|
|
(thenIO
|
|
(void (ensureStore "/tmp/store"))
|
|
(arboricxServer "/tmp/store" "127.0.0.1" 9050)))
|