🪁 A simple, type-safe http server for PureScript
Go to file
Connor Prussin 61b88de59b
#153 bind to 0.0.0.0 instead of localhost (#154)
* Bind to 0.0.0.0 instead of localhost

* Don't use nixjs for purescript

* Use lorri

* Use niv

* Use nix for travis build

* Clean up travis config
2020-02-26 16:43:38 -08:00
docs Update response functions to return MonadAff m => m Response (#150) 2019-09-29 20:57:15 -07:00
src #153 bind to 0.0.0.0 instead of localhost (#154) 2020-02-26 16:43:38 -08:00
test Update response functions to return MonadAff m => m Response (#150) 2019-09-29 20:57:15 -07:00
.bowerrc Rename top level directories to be purescript standard 2017-07-17 23:29:51 -07:00
.envrc #153 bind to 0.0.0.0 instead of localhost (#154) 2020-02-26 16:43:38 -08:00
.gitignore Add spago configuration (#152) 2020-02-24 17:20:40 -08:00
.travis.yml #153 bind to 0.0.0.0 instead of localhost (#154) 2020-02-26 16:43:38 -08:00
bower.json Add some type declarations to get compatibility with node-buffer 6.x. (#149) 2019-09-24 17:09:29 -07:00
Contributing.md Fix incorrect docs (#87) 2017-10-26 17:42:08 -04:00
History.md Release notes for v0.10.0 2019-12-03 13:35:30 -08:00
License Clean up file naming and directory structure (#21) 2017-07-10 12:06:14 -07:00
Makefile Fix makefile 2019-02-17 10:30:54 -08:00
package.json Upgrade yarn dev deps 2019-09-25 17:49:04 -07:00
packages.dhall Add spago configuration (#152) 2020-02-24 17:20:40 -08:00
psc-package.json Provide utils from purescript-globals instead of FFI (#145) 2019-08-16 12:03:38 -07:00
Readme.md Switch from bower to psc-package 2019-02-16 23:25:42 -08:00
Releasing.md Minor docs update 2017-10-26 13:28:47 -07:00
shell.nix #153 bind to 0.0.0.0 instead of localhost (#154) 2020-02-26 16:43:38 -08:00
sources.json #153 bind to 0.0.0.0 instead of localhost (#154) 2020-02-26 16:43:38 -08:00
sources.nix #153 bind to 0.0.0.0 instead of localhost (#154) 2020-02-26 16:43:38 -08:00
spago.dhall Add spago configuration (#152) 2020-02-24 17:20:40 -08:00
yarn.lock Upgrade yarn dev deps 2019-09-25 17:49:04 -07:00

HTTPure

License Latest release Build Status purescript-httpure on Pursuit

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)

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. 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.

Installation

psc-package install httpure

Quick Start

module Main where

import Prelude (($))

import Effect.Console as Console
import HTTPure as HTTPure

main :: HTTPure.ServerM
main =
  HTTPure.serve 8080 router $ Console.log "Server now up on port 8080"
  where
    router _ = HTTPure.ok "hello world!"

Documentation

Module documentation is published on Pursuit.

You can also take a look at our guides.

Examples

HTTPure ships with a number of examples. To run an example, in the project root, run:

make example EXAMPLE=<Example Name>

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:

make test

Contributing

We are open to accepting contributions! Please see the contributing guide.

People

HTTPure is written and maintained by Connor Prussin and Petri Lehtinen.

We are open to accepting contributions! Please see the contributing guide.

License

MIT