Module

HTTPure.Server

Package
purescript-httpure
Repository
cprussin/purescript-httpure

#ServerM Source

type ServerM e = Eff (HTTPureEffects e) Unit

The ServerM type simply conveniently wraps up an HTTPure monad that returns a Unit. This type is the return type of the HTTPure serve and related methods.

#SecureServerM Source

type SecureServerM e = ServerM (fs :: FS | e)

The SecureServerM type is the same as the ServerM type, but it includes effects for working with the filesystem (to load the key and certificate).

#serve Source

serve :: forall e. Int -> (Request -> ResponseM e) -> ServerM e -> ServerM e

Create and start a server. This is the main entry point for HTTPure. Takes a port number on which to listen, a function mapping Request to ResponseM, and a ServerM containing effects to run after the server has booted (usually logging). Returns an ServerM containing the server's effects.

#serve' Source

serve' :: forall e. ListenOptions -> (Request -> ResponseM e) -> ServerM e -> ServerM e

Given a ListenOptions object, a function mapping Request to ResponseM, and a ServerM containing effects to run on boot, creates and runs a HTTPure server without SSL.

#serveSecure Source

serveSecure :: forall e. Int -> String -> String -> (Request -> ResponseM (fs :: FS | e)) -> SecureServerM e -> SecureServerM e

Create and start an SSL server. This method is the same as serve, but takes additional SSL arguments. The arguments in order are:

  1. A port number
  2. A path to a cert file
  3. A path to a private key file
  4. A handler method which maps Request to ResponseM
  5. A callback to call when the server is up

#serveSecure' Source

serveSecure' :: forall e. Options SSLOptions -> ListenOptions -> (Request -> ResponseM (fs :: FS | e)) -> SecureServerM e -> SecureServerM e

Given a Options HTTPS.SSLOptions object and a HTTP.ListenOptions object, a function mapping Request to ResponseM, and a SecureServerM containing effects to run on boot, creates and runs a HTTPure server with SSL.