simple-0.6.0: A minimalist web framework for the WAI server interface

Safe HaskellNone

Web.Frank

Description

Frank is a Sinatra-inspired DSL (see http://www.sinatrarb.com) for creating routes. It is composable with all ToApplication types, but is designed to be used with Controllers. Each verb (get, post, put, etc') takes a URL pattern of the form "/dir/:paramname/dir" (see routePattern for details) and a ToApplication:

  main :: IO ()
  main = run 3000 $ controllerApp () $ do
    get "/" $ do
      req <- request
      return $ okHtml $ fromString $
        "Welcome Home " ++ (show $ serverName req)
    get "/user/:id" $ do
      userId <- queryParam "id" >>= fromMaybe ""
      return $ ok "text/json" $ fromString $
        "{\"myid\": " ++ (show userId) ++ "}"
    put "/user/:id" $ do
      ...

Synopsis

Documentation

get :: ByteString -> Controller r a -> Controller r ()Source

Matches the GET method on the given URL pattern

post :: ByteString -> Controller r a -> Controller r ()Source

Matches the POST method on the given URL pattern

put :: ByteString -> Controller r a -> Controller r ()Source

Matches the PUT method on the given URL pattern

delete :: ByteString -> Controller r a -> Controller r ()Source

Matches the DELETE method on the given URL pattern

options :: ByteString -> Controller r a -> Controller r ()Source

Matches the OPTIONS method on the given URL pattern