diff --git a/ui/elm.json b/ui/elm.json index 4c88a7a..27b1cdd 100644 --- a/ui/elm.json +++ b/ui/elm.json @@ -9,10 +9,10 @@ "NoRedInk/elm-json-decode-pipeline": "1.0.0", "basti1302/elm-human-readable-filesize": "1.1.1", "elm/browser": "1.0.1", - "elm/core": "1.0.0", + "elm/core": "1.0.2", "elm/html": "1.0.0", - "elm/http": "1.0.0", - "elm/json": "1.0.0", + "elm/http": "2.0.0", + "elm/json": "1.1.2", "elm/svg": "1.0.1", "elm/time": "1.0.0", "elm/url": "1.0.0", @@ -20,6 +20,8 @@ "ryannhg/date-format": "2.1.0" }, "indirect": { + "elm/bytes": "1.0.3", + "elm/file": "1.0.1", "elm/regex": "1.0.0", "elm/virtual-dom": "1.0.2", "myrho/elm-round": "1.0.4" @@ -29,4 +31,4 @@ "direct": {}, "indirect": {} } -} \ No newline at end of file +} diff --git a/ui/src/HttpUtil.elm b/ui/src/HttpUtil.elm index fcc8127..45e0c69 100644 --- a/ui/src/HttpUtil.elm +++ b/ui/src/HttpUtil.elm @@ -3,29 +3,29 @@ module HttpUtil exposing (delete, errorString, patch) import Http -delete : String -> Http.Request () -delete url = +delete : (Result Http.Error () -> msg) -> String -> Cmd msg +delete msg url = Http.request { method = "DELETE" , headers = [] , url = url , body = Http.emptyBody - , expect = Http.expectStringResponse (\_ -> Ok ()) + , expect = Http.expectWhatever msg , timeout = Nothing - , withCredentials = False + , tracker = Nothing } -patch : String -> Http.Body -> Http.Request () -patch url body = +patch : (Result Http.Error () -> msg) -> String -> Http.Body -> Cmd msg +patch msg url body = Http.request { method = "PATCH" , headers = [] , url = url , body = body - , expect = Http.expectStringResponse (\_ -> Ok ()) + , expect = Http.expectWhatever msg , timeout = Nothing - , withCredentials = False + , tracker = Nothing } @@ -42,11 +42,7 @@ errorString error = "HTTP Network error" Http.BadStatus res -> - "Bad HTTP status: " ++ String.fromInt res.status.code + "Bad HTTP status: " ++ String.fromInt res - Http.BadPayload msg res -> - "Bad HTTP payload: " - ++ msg - ++ " (" - ++ String.fromInt res.status.code - ++ ")" + Http.BadBody msg -> + "Bad HTTP body: " ++ msg diff --git a/ui/src/Page/Home.elm b/ui/src/Page/Home.elm index a460d47..9b16a28 100644 --- a/ui/src/Page/Home.elm +++ b/ui/src/Page/Home.elm @@ -29,8 +29,10 @@ init = cmdGreeting : Cmd Msg cmdGreeting = - Http.send GreetingResult <| - Http.getString "/serve/greeting" + Http.get + { url = "/serve/greeting" + , expect = Http.expectString GreetingResult + } diff --git a/ui/src/Page/Mailbox.elm b/ui/src/Page/Mailbox.elm index c7e4264..45a679b 100644 --- a/ui/src/Page/Mailbox.elm +++ b/ui/src/Page/Mailbox.elm @@ -301,8 +301,7 @@ updatePurge model = cmd = "/api/v1/mailbox/" ++ model.mailboxName - |> HttpUtil.delete - |> Http.send PurgeResult + |> HttpUtil.delete PurgeResult in case model.state of ShowingList list _ -> @@ -374,8 +373,7 @@ updateDeleteMessage model message = "/api/v1/mailbox/" ++ message.mailbox ++ "/" ++ message.id cmd = - HttpUtil.delete url - |> Http.send DeleteMessageResult + HttpUtil.delete DeleteMessageResult url filter f messageList = { messageList | headers = List.filter f messageList.headers } @@ -414,8 +412,7 @@ updateMarkMessageSeen model message = -- desired change in the body. Encode.object [ ( "seen", Encode.bool True ) ] |> Http.jsonBody - |> HttpUtil.patch url - |> Http.send MarkSeenResult + |> HttpUtil.patch MarkSeenResult url map f messageList = { messageList | headers = List.map f messageList.headers } @@ -444,8 +441,10 @@ getList mailboxName = url = "/api/v1/mailbox/" ++ mailboxName in - Http.get url (Decode.list MessageHeader.decoder) - |> Http.send ListResult + Http.get + { url = url + , expect = Http.expectJson ListResult (Decode.list MessageHeader.decoder) + } getMessage : String -> MessageID -> Cmd Msg @@ -454,8 +453,10 @@ getMessage mailboxName id = url = "/serve/m/" ++ mailboxName ++ "/" ++ id in - Http.get url Message.decoder - |> Http.send MessageResult + Http.get + { url = url + , expect = Http.expectJson MessageResult Message.decoder + } diff --git a/ui/src/Page/Status.elm b/ui/src/Page/Status.elm index faff149..b67d1a4 100644 --- a/ui/src/Page/Status.elm +++ b/ui/src/Page/Status.elm @@ -207,8 +207,10 @@ updateRemoteTotal metric value history = getMetrics : Cmd Msg getMetrics = - Http.get "/debug/vars" Metrics.decoder - |> Http.send NewMetrics + Http.get + { url = "/debug/vars" + , expect = Http.expectJson NewMetrics Metrics.decoder + }