An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

        

# HTTPure

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/citizennet/purescript-httpure/main/License)
[![Latest release](http://img.shields.io/github/release/citizennet/purescript-httpure.svg)](https://github.com/citizennet/purescript-httpure/releases)
[![purescript-httpure on Pursuit](https://pursuit.purescript.org/packages/purescript-httpure/badge)](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 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!"
```

## 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)