purescript-httpurple/docs/Basics.md
2017-10-25 21:03:24 -04:00

1.4 KiB

HTTPure Basics

This guide is a brief overview of the basics of creating a HTTPure server.

Creating a Server

To create a server, use HTTPure.serve (no SSL) or HTTPure.serve' (SSL). Both of these functions take a port number, a router function, and an Eff that will run once the server has booted. The signature of the router function is:

forall e. HTTPure.Request -> HTTPure.ResponseM e

For more details on routing, see the Routing guide. For more details on responses, see the Responses guide. The router can be composed with middleware; for more details, see the Middleware guide.

Non-SSL

You can create an HTTPure server without SSL using HTTPure.serve:

main = HTTPure.serve 8080 router $ Console.log "Server up"

Most of the examples, besides the SSL Example, use this method to create the server.

SSL

You can create an SSL-enabled HTTPure server using HTTPure.serve', which has the same signature as HTTPure.serve except that it additionally takes a path to a cert file and a path to a key file after the port number:

main =
  HTTPure.serve 8080 "./Certificate.cer" "./Key.key" router $
    Console.log "Server up"

You can look at the SSL Example, which uses this method to create the server.