onasty/web/src/Api.elm(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
module Api exposing (Error(..), Response(..), errorMessage, is404)
import Http
import Json.Decode
type Error
= HttpError
{ message : String
, reason : Http.Error
}
| JsonDecodeError
{ message : String
, reason : Json.Decode.Error
}
type Response value
= Loading
| Success value
| Failure Error
errorMessage : Error -> String
errorMessage error =
case error of
HttpError err ->
err.message
JsonDecodeError err ->
err.message
is404 : Error -> Bool
is404 error =
case error of
HttpError { reason } ->
reason == Http.BadStatus 404
_ ->
False
|