import Network.HTTP.Lucu.Headers
import Network.HTTP.Lucu.Request
import Network.HTTP.Lucu.Response
+import Network.HTTP.Lucu.Response.StatusCode
import Network.URI hiding (path)
import Prelude hiding (head)
import Prelude.Unicode
-- 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