Safe Haskell | None |
---|---|
Language | Haskell98 |
- parseRoutes :: QuasiQuoter
- parseRoutesNoCheck :: QuasiQuoter
- parseRoutesFile :: FilePath -> Q Exp
- parseRoutesFileNoCheck :: FilePath -> Q Exp
- mkYesod :: String -> [ResourceTree String] -> Q [Dec]
- mkYesodData :: String -> [ResourceTree String] -> Q [Dec]
- mkYesodSubData :: String -> [ResourceTree String] -> Q [Dec]
- mkYesodDispatch :: String -> [ResourceTree String] -> Q [Dec]
- mkYesodSubDispatch :: [ResourceTree a] -> Q Exp
- class PathPiece s where
- fromPathPiece :: Text -> Maybe s
- toPathPiece :: s -> Text
- class PathMultiPiece s where
- fromPathMultiPiece :: [Text] -> Maybe s
- toPathMultiPiece :: s -> [Text]
- type Texts = [Text]
- toWaiApp :: YesodDispatch site => site -> IO Application
- toWaiAppPlain :: YesodDispatch site => site -> IO Application
- warp :: YesodDispatch site => Int -> site -> IO ()
- warpDebug :: YesodDispatch site => Int -> site -> IO ()
- warpEnv :: YesodDispatch site => site -> IO ()
- mkDefaultMiddlewares :: Logger -> IO Middleware
- defaultMiddlewaresNoLogging :: Middleware
- newtype WaiSubsite = WaiSubsite {}
- subHelper :: Monad m => HandlerT child (HandlerT parent m) TypedContent -> YesodSubRunnerEnv child parent (HandlerT parent m) -> Maybe (Route child) -> Application
Quasi-quoted routing
parseRoutes :: QuasiQuoter Source
A quasi-quoter to parse a string into a list of Resource
s. Checks for
overlapping routes, failing if present; use parseRoutesNoCheck
to skip the
checking. See documentation site for details on syntax.
parseRoutesNoCheck :: QuasiQuoter Source
Same as parseRoutes
, but performs no overlap checking.
parseRoutesFile :: FilePath -> Q Exp Source
parseRoutesFileNoCheck :: FilePath -> Q Exp Source
:: String | name of the argument datatype |
-> [ResourceTree String] | |
-> Q [Dec] |
Generates URL datatype and site function for the given Resource
s. This
is used for creating sites, not subsites. See mkYesodSub
for the latter.
Use parseRoutes
to create the Resource
s.
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.
mkYesodSubData :: String -> [ResourceTree String] -> Q [Dec] Source
mkYesodDispatch :: String -> [ResourceTree String] -> Q [Dec] Source
See mkYesodData
.
mkYesodSubDispatch :: [ResourceTree a] -> Q Exp Source
Path pieces
class PathPiece s where
fromPathPiece :: Text -> Maybe s
toPathPiece :: s -> Text
class PathMultiPiece s where
fromPathMultiPiece :: [Text] -> Maybe s
toPathMultiPiece :: s -> [Text]
PathPiece a => PathMultiPiece [a] |
Convert to WAI
toWaiApp :: YesodDispatch site => site -> IO Application Source
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 Application Source
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 Middleware Source
A default set of middlewares.
Since 1.2.0
defaultMiddlewaresNoLogging :: Middleware Source
All of the default middlewares, excluding logging.
Since 1.2.12
WAI subsites
newtype WaiSubsite Source
Wrap up a normal WAI application as a Yesod subsite.
ParseRoute WaiSubsite | |
RenderRoute WaiSubsite | |
YesodSubDispatch WaiSubsite master | |
Eq (Route WaiSubsite) | |
Ord (Route WaiSubsite) | |
Read (Route WaiSubsite) | |
Show (Route WaiSubsite) | |
data Route WaiSubsite = WaiSubsiteRoute [Text] [(Text, Text)] |
subHelper :: Monad m => HandlerT child (HandlerT parent m) TypedContent -> YesodSubRunnerEnv child parent (HandlerT parent m) -> Maybe (Route child) -> Application Source
A helper function for creating YesodSubDispatch instances, used by the internal generated code. This function has been exported since 1.4.11. It promotes a subsite handler to a wai application.