import qualified Data.CaseInsensitive as CI
import Data.Convertible.Base
import Data.Convertible.Utils
+import Data.Eq.Indirect
import Data.Maybe
import Data.Monoid.Unicode
import Data.Text (Text)
-- 1xx responses don't have a body.
-- 2xx responses don't need a body to be completed.
-- 3xx:
- | resStatus â\89\88 MovedPermanently
+ | resStatus â\89¡: 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¡: 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¡: 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¡: TemporaryRedirect
= do unsafeByteString "The resource at "
path
unsafeByteString " is temporarily located at "
unsafeByteString "."
-- 4xx:
- | resStatus â\89\88 BadRequest
+ | resStatus â\89¡: BadRequest
= unsafeByteString "The server could not understand the request you sent."
- | resStatus â\89\88 Unauthorized
+ | resStatus â\89¡: Unauthorized
= unsafeByteString "You need a valid authentication to access " ⊕ path
- | resStatus â\89\88 Forbidden
+ | resStatus â\89¡: Forbidden
= unsafeByteString "You don't have permission to access " ⊕ path
- | resStatus â\89\88 NotFound
+ | resStatus â\89¡: NotFound
= do unsafeByteString "The requested URL "
path
unsafeByteString " was not found on this server."
- | resStatus â\89\88 Gone
+ | resStatus â\89¡: Gone
= do unsafeByteString "The resource at "
path
unsafeByteString " was here in past times, but has gone permanently."
- | resStatus â\89\88 RequestEntityTooLarge
+ | resStatus â\89¡: RequestEntityTooLarge
= do unsafeByteString "The request entity you sent for "
path
unsafeByteString " was too large to accept."
- | resStatus â\89\88 RequestURITooLarge
+ | resStatus â\89¡: RequestURITooLarge
= unsafeByteString "The request URI you sent was too large to accept."
-- 5xx:
- | resStatus â\89\88 InternalServerError
+ | resStatus â\89¡: InternalServerError
= unsafeByteString "An internal server error has occured during the process of your request to " ⊕ path
- | resStatus â\89\88 ServiceUnavailable
+ | resStatus â\89¡: ServiceUnavailable
= unsafeByteString "The service is temporarily unavailable. Try later."
| otherwise