https://github.com/citizennet/purescript-httpure
A web framework written in PureScript.
https://github.com/citizennet/purescript-httpure
http-server httpure purescript server
Last synced: 5 months ago
JSON representation
A web framework written in PureScript.
- Host: GitHub
- URL: https://github.com/citizennet/purescript-httpure
- Owner: citizennet
- License: mit
- Created: 2017-05-25T18:48:28.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2022-11-17T19:56:46.000Z (over 2 years ago)
- Last Synced: 2024-11-08T16:58:13.900Z (5 months ago)
- Topics: http-server, httpure, purescript, server
- Language: PureScript
- Size: 391 KB
- Stars: 183
- Watchers: 13
- Forks: 16
- Open Issues: 15
-
Metadata Files:
- Readme: Readme.md
- Changelog: History.md
- Contributing: Contributing.md
- License: License
Awesome Lists containing this project
README
# HTTPure
[](https://raw.githubusercontent.com/citizennet/purescript-httpure/main/License)
[](https://github.com/citizennet/purescript-httpure/releases)
[](https://pursuit.purescript.org/packages/purescript-httpure)A purescript HTTP server framework.
HTTPure is:
- Well-tested (see our [tests](./test/Test))
- Well-documented (see our [documentation](./docs))
- Built to take advantage of PureScript language features for flexible and
extensible routing
- Pure (no `set`, `get`, `use`, etc)## Status
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](https://github.com/citizennet/purescript-httpure/projects). 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](./Contributing.md).## Installation
```bash
spago install httpure
```## Quick Start
```purescript
module Main whereimport 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!"
```## Documentation
Module documentation is published
on [Pursuit](http://pursuit.purescript.org/packages/purescript-httpure).You can also take a look at [our guides](./docs).
## Examples
HTTPure ships with a number of [examples](./docs/Examples). To run an example,
in the project root, run:```bash
nix-shell --run 'example '
```Or, without `nix`:
```bash
spago -x test.dhall run --main Examples..Main
```Each example's startup banner will include information on routes available on
the example server.## Testing
To run the test suite, in the project root run:
```bash
nix-shell --run check
```Or, if `nix` isn't your thing:
```bash
purs-tidy check src test docs && spago -x test.dhall test
```## Contributing
We are open to accepting contributions! Please see
the [contributing guide](Contributing.md).## People
HTTPure is written and maintained
by [Connor Prussin](https://connor.prussin.net) and [Petri
Lehtinen](http://www.digip.org/).We are open to accepting contributions! Please see
the [contributing guide](./Contributing.md).## License
[MIT](./License)