A functional http server with a focus on type-safety and making the common case easy.
Note: If you are looking for a http client, check out purescript-fetch
Note: This project was originally forked from the amazing HTTPure http server framework, but has since deviated quite a bit. If you are coming from HTTPure you might want to have a look at the differences to HTTPure.
module Main where import Prelude hiding ((/)) import HTTPurple data Route = Hello String derive instance Generic Route _ route :: RouteDuplex' Route route = mkRoute { "Hello": "hello" / segment } main :: ServerM main = serve { port: 8080 } { route, router } where router { route: Hello name } = ok $ "hello " <> name
then start the server
➜ spago run Src Lib All Warnings 0 0 0 Errors 0 0 0 [info] Build succeeded. HTTPurple 🪁 up and running on http://0.0.0.0:8080
query your server, e.g. using httpie
➜ http http://localhost:8080/hello/🗺 HTTP/1.1 200 OK Connection: keep-alive Content-Length: 10 Date: Sun, 22 May 2022 16:50:52 GMT Keep-Alive: timeout=5 hello 🗺
See the docs folder for the in-depth guides.
HTTPurple ships with a number of examples. To run an example, in the project root, run:
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:
This is a fork of HTTPure, which is licensed under MIT. See the original license. This work is similarly licensed under MIT.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4