content: {-# LANGUAGE ExplicitNamespaces #-}
  
  module Web.Apiary
      ( module Control.Monad.Apiary
      , module Control.Monad.Apiary.Action
      , module Control.Monad.Apiary.Filter
      -- | File(..), Proxies
      , module Data.Apiary.Param
  
      -- | Method(..)
      , module Data.Apiary.Method
      -- | Has, MonadHas, Extensions, Initializer, Initializer', (+>), noExtension
      , module Data.Apiary.Extension
      -- | Member, Members, NotMember, Elem((:=))
      , module Network.Routing.Dict
      , key
  
      -- | hiding mkStatus
      , module Network.HTTP.Types.Status
      -- | def
      , module Data.Default.Class
      -- | MonadIO
      , module Control.Monad.IO.Class
      -- | MonadPlus(..), msum, mfilter, guard, (>=>)
      , module Control.Monad
      -- | FilePart(..), Application
      , module Network.Wai
      -- | Html
      , module Text.Blaze.Html
      ) where
  
  import Control.Monad.Apiary
      ( ApiaryT
      , runApiaryTWith
      , runApiaryWith
      , runApiary
      , getApiaryTWith
      , getApiaryWith
      , getApiary
      , ApiaryConfig(..)
      , action
      , middleware
      , group
      , document
      , precondition
      , noDoc
      )
  
  import Control.Monad.Apiary.Action
      ( ActionT
      , application
      , stop
      , param
      , params
      , status
      , addHeader, setHeaders, modifyHeader
      , contentType
      , reset
      , builder
      , bytes, lazyBytes
      , text,  lazyText
      , showing
      , json
      , string, char
      , appendBuilder
      , appendBytes, appendLazyBytes
      , appendText, appendLazyText
      , appendShowing
      , appendString, appendChar
      , file, file'
      , redirect, redirectPermanently, redirectTemporary
      , defaultDocumentationAction
      , DefaultDocumentConfig(..)
      , hoistActionT
      )
  
  import Control.Monad.Apiary.Filter
      ( method
      , http09, http10, http11
      , root, capture
      , (??)
      , (=:), (=!:), (=?:), (=?!:), (=*:), (=+:)
      , switchQuery
      , eqHeader
      , header
      , jsonReqBody
      , accept
      , ssl
      )
  
  import Data.Apiary.Param
      ( File(..)
      , pBool, pInt, pWord, pDouble
      , pText, pLazyText, pByteString, pLazyByteString, pString
      , pMaybe, pFile
      , pFirst, pOne, pMany, pSome, pOption, pOptional
      )
  
  import Data.Apiary.Method(Method(..))
  import Data.Apiary.Extension(Has, MonadExts(..), getExt, Extensions, Initializer, Initializer', (+>), noExtension)
  import Network.Routing.Dict (Members, type (</), KV((:=)))
  
  import Network.HTTP.Types.Status hiding (mkStatus)
  import Data.Default.Class(def)
  import Control.Monad.IO.Class(MonadIO(..))
  import Control.Monad (MonadPlus(..), msum, mfilter, guard, (>=>))
  import Network.Wai(FilePart(..), Application)
  import Text.Blaze.Html(Html)
  import Web.Apiary.TH(key)
  