A purescript HTTP server framework.
HTTPure is:
- Well-tested (see our tests)
- Well-documented (see our documentation)
- Built to take advantage of PureScript language features for flexible and extensible routing
- Pure (no
set
,get
,use
, etc)
This project is currently fairly stable, but has not reached it's 1.0 release yet. You can track what's left before it gets there by looking at our roadmap. The API signatures are mostly stable, but are subject to change before the 1.0 release if there's a good reason to change them.
If you'd like to help us get to 1.0 quicker, please contribute! To get started, check our contributing guide.
spago install httpure
module Main where
import Prelude
import Effect.Console (log)
import HTTPure (ServerM, serve, ok)
main :: ServerM
main = serve 8080 router $ log "Server now up on port 8080"
where
router _ = ok "hello world!"
Module documentation is published on Pursuit.
You can also take a look at our guides.
HTTPure ships with a number of examples. To run an example, in the project root, run:
nix-shell --run 'example <Example Name>'
Or, without nix
:
spago -x test.dhall run --main Examples.<Example Name>.Main
Each example's startup banner will include information on routes available on the example server.
To run the test suite, in the project root run:
nix-shell --run check
Or, if nix
isn't your thing:
purs-tidy check src test docs && spago -x test.dhall test
We are open to accepting contributions! Please see the contributing guide.
HTTPure is written and maintained by Connor Prussin and Petri Lehtinen.
We are open to accepting contributions! Please see the contributing guide.