where
import Blaze.ByteString.Builder (Builder)
import Data.Ascii (Ascii)
-import qualified Data.Ascii as A
import qualified Data.CaseInsensitive as CI
+import Data.Convertible.Base
import Data.Convertible.Utils
import Data.Maybe
import Data.Monoid.Unicode
body $ do h1 status
p msg
hr
- address $ do toHtml $ A.toText cnfServerSoftware
+ address $ do toHtml (cs cnfServerSoftware ∷ Text)
unsafeByteString " at "
toHtml $ CI.original cnfServerHost
where
-- 1xx responses don't have a body.
-- 2xx responses don't need a body to be completed.
-- 3xx:
- | resStatus â\89\88 MovedPermanently
+ | resStatus â\89¡ cs MovedPermanently
= do unsafeByteString "The resource at "
path
unsafeByteString " has been moved to "
a ! href (toValue loc) $ toHtml loc
unsafeByteString " permanently."
- | resStatus â\89\88 Found
+ | resStatus â\89¡ cs Found
= do unsafeByteString "The resource at "
path
unsafeByteString " is currently located at "
a ! href (toValue loc) $ toHtml loc
unsafeByteString ". This is not a permanent relocation."
- | resStatus â\89\88 SeeOther
+ | resStatus â\89¡ cs SeeOther
= do unsafeByteString "The resource at "
path
unsafeByteString " can be found at "
a ! href (toValue loc) $ toHtml loc
unsafeByteString "."
- | resStatus â\89\88 TemporaryRedirect
+ | resStatus â\89¡ cs TemporaryRedirect
= do unsafeByteString "The resource at "
path
unsafeByteString " is temporarily located at "
unsafeByteString "."
-- 4xx:
- | resStatus â\89\88 BadRequest
+ | resStatus â\89¡ cs BadRequest
= unsafeByteString "The server could not understand the request you sent."
- | resStatus â\89\88 Unauthorized
+ | resStatus â\89¡ cs Unauthorized
= unsafeByteString "You need a valid authentication to access " ⊕ path
- | resStatus â\89\88 Forbidden
+ | resStatus â\89¡ cs Forbidden
= unsafeByteString "You don't have permission to access " ⊕ path
- | resStatus â\89\88 NotFound
+ | resStatus â\89¡ cs NotFound
= do unsafeByteString "The requested URL "
path
unsafeByteString " was not found on this server."
- | resStatus â\89\88 Gone
+ | resStatus â\89¡ cs Gone
= do unsafeByteString "The resource at "
path
unsafeByteString " was here in past times, but has gone permanently."
- | resStatus â\89\88 RequestEntityTooLarge
+ | resStatus â\89¡ cs RequestEntityTooLarge
= do unsafeByteString "The request entity you sent for "
path
unsafeByteString " was too large to accept."
- | resStatus â\89\88 RequestURITooLarge
+ | resStatus â\89¡ cs RequestURITooLarge
= unsafeByteString "The request URI you sent was too large to accept."
-- 5xx:
- | resStatus â\89\88 InternalServerError
+ | resStatus â\89¡ cs InternalServerError
= unsafeByteString "An internal server error has occured during the process of your request to " ⊕ path
- | resStatus â\89\88 ServiceUnavailable
+ | resStatus â\89¡ cs ServiceUnavailable
= unsafeByteString "The service is temporarily unavailable. Try later."
| otherwise
path = toHtml ∘ uriPath ∘ reqURI $ fromJust req
loc ∷ Text
- loc = A.toText ∘ fromJust $ getHeader "Location" res
+ loc = cs ∘ fromJust $ getHeader "Location" res
hr ∷ Html
{-# INLINE hr #-}