yesod-core-1.2.2: Creation of type-safe, RESTful web applications.

Safe HaskellNone

Yesod.Core.Dispatch

Contents

Synopsis

Quasi-quoted routing

parseRoutes :: QuasiQuoter

A quasi-quoter to parse a string into a list of Resources. Checks for overlapping routes, failing if present; use parseRoutesNoCheck to skip the checking. See documentation site for details on syntax.

parseRoutesNoCheck :: QuasiQuoter

Same as parseRoutes, but performs no overlap checking.

mkYesodSource

Arguments

:: String

name of the argument datatype

-> [ResourceTree String] 
-> Q [Dec] 

Generates URL datatype and site function for the given Resources. This is used for creating sites, not subsites. See mkYesodSub for the latter. Use parseRoutes to create the Resources.

More fine-grained

mkYesodData :: String -> [ResourceTree String] -> Q [Dec]Source

Sometimes, you will want to declare your routes in one file and define your handlers elsewhere. For example, this is the only way to break up a monolithic file into smaller parts. Use this function, paired with mkYesodDispatch, to do just that.

Path pieces

type Texts = [Text]Source

Convert to WAI

toWaiApp :: YesodDispatch site => site -> IO ApplicationSource

Same as toWaiAppPlain, but provides a default set of middlewares. This set may change with future releases, but currently covers:

  • Logging
  • GZIP compression
  • Automatic HEAD method handling
  • Request method override with the _method query string parameter
  • Accept header override with the _accept query string parameter

toWaiAppPlain :: YesodDispatch site => site -> IO ApplicationSource

Convert the given argument into a WAI application, executable with any WAI handler. This function will provide no middlewares; if you want commonly used middlewares, please use toWaiApp.

warp :: YesodDispatch site => Int -> site -> IO ()Source

A convenience method to run an application using the Warp webserver on the specified port. Automatically calls toWaiApp. Provides a default set of middlewares. This set may change at any point without a breaking version number. Currently, it includes:

If you need more fine-grained control of middlewares, please use toWaiApp directly.

Since 1.2.0

warpDebug :: YesodDispatch site => Int -> site -> IO ()Source

Deprecated: Please use warp instead

Deprecated synonym for warp.

warpEnv :: YesodDispatch site => site -> IO ()Source

Runs your application using default middlewares (i.e., via toWaiApp). It reads port information from the PORT environment variable, as used by tools such as Keter and the FP Complete School of Haskell.

Note that the exact behavior of this function may be modified slightly over time to work correctly with external tools, without a change to the type signature.

mkDefaultMiddlewares :: Logger -> IO MiddlewareSource

A default set of middlewares.

Since 1.2.0

WAI subsites

newtype WaiSubsite Source

Wrap up a normal WAI application as a Yesod subsite.

Constructors

WaiSubsite