module Hack.Contrib.Middleware.SimpleAccessLogger (simple_access_logger) where

import Hack
import Hack.Contrib.Utils
import Hack.Contrib.Request
import Hack.Contrib.Middleware.Hub

import MPSUTF8
import Prelude hiding ((.), (^), (>), log)
import Data.Maybe

program :: String
program = "SimpleAccessLogger"

simple_access_logger :: Maybe Stream -> Middleware
simple_access_logger stream app = \env -> do
  let my_stream = stream.fromMaybe (env.hack_errors)
  let log = simple_logger my_stream program
  
  Info .log (env.url.url2unicode)
  
  app env