{-# LANGUAGE NoMonomorphismRestriction#-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE QuasiQuotes #-}

module Bamboo
  (
    module Bamboo.Controller.Application,
    bamboo
  ) where

import Bamboo.Controller.Application
import Hack.Handler.Kibro
import Hack.Utils
import Hack
import Hack.Contrib.RawRouter
import Hack.Contrib.ContentType
import Bamboo.Helper.Env hiding (body, not_found, (>))

default_content_type = "text/plain; charset=UTF-8"

middleware_stack = 
  [  content_type default_content_type
  ,  route paths
  ]
  
app = not_found_app .use middleware_stack

bamboo :: IO ()
bamboo = run app