diff options
author | Joris | 2017-03-26 21:10:42 +0200 |
---|---|---|
committer | Joris | 2017-03-26 21:10:42 +0200 |
commit | 1e47a7754ca38bd1a6c74765d8378caf68ce4619 (patch) | |
tree | d0d9238479dc2529a1b558bbbcde346e7e8c2935 /src/client/Utils/Http.elm | |
parent | c0ac16a713c4e53cf6af8e72a6d5f6b8ac5d6456 (diff) |
Separate client and server watch
Diffstat (limited to 'src/client/Utils/Http.elm')
-rw-r--r-- | src/client/Utils/Http.elm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/client/Utils/Http.elm b/src/client/Utils/Http.elm new file mode 100644 index 0000000..dd3870a --- /dev/null +++ b/src/client/Utils/Http.elm @@ -0,0 +1,39 @@ +module Utils.Http exposing + ( jsonRequest + , request + , errorKey + ) + +import Http exposing (..) +import Task exposing (..) +import Json.Decode as Decode exposing (Decoder, Value) +import Json.Encode as Encode + +jsonRequest : String -> String -> Expect a -> (Result Error a -> msg) -> Encode.Value -> Cmd msg +jsonRequest method url expect handleResult value = + requestWithBody method url (jsonBody value) expect handleResult + +request : String -> String -> Expect a -> (Result Error a -> msg) -> Cmd msg +request method url = requestWithBody method url emptyBody + +requestWithBody : String -> String -> Body -> Expect a -> (Result Error a -> msg) -> Cmd msg +requestWithBody method url body expect handleResult = + let req = Http.request + { method = method + , headers = [] + , url = url + , body = body + , expect = expect + , timeout = Nothing + , withCredentials = False + } + in send handleResult req + +errorKey : Error -> String +errorKey error = + case error of + BadUrl _ -> "BadUrl" + Timeout -> "Timeout" + NetworkError -> "NetworkError" + BadPayload _ _ -> "BadPayload" + BadStatus response -> response.body |