[{"name":"Req","comment":" An experimental alternative for [elm/http](https://github.com/elm/http).\n\nSee more details in [elm/http](https://package.elm-lang.org/packages/elm/http/latest/Http).\n\n\n# Types\n\n@docs Req, Body, Part, Error\n\n\n# Methods\n\n@docs init, get, post, put, patch, delete\n\n\n# Body\n\n@docs withStringBody, withJsonBody, withFileBody, withBytesBody, withMultipartBody\n\n\n# Parts\n\n@docs stringPart, filePart, bytesPart\n\n\n# Options\n\n@docs withHeader, withTimeout, allowCookiesFromOtherDomains\n\n\n# Task\n\n@docs stringTask, bytesTask, whateverTask, toTask\n\n\n# Resolver\n\n@docs simplyResolveJson, resolveJson\n\n\n# Tracking\n\n@docs trackString, trackBytes, trackWhatever, track\n\n","unions":[{"name":"Body","comment":" Body\n","args":[],"cases":[["EmptyBody",[]],["StringBody",["String.String","String.String"]],["JsonBody",["Json.Encode.Value"]],["FileBody",["File.File"]],["BytesBody",["String.String","Bytes.Bytes"]],["MultipartBody",["List.List Req.Part"]]]},{"name":"Error","comment":" Similar to `Http.Error` but have more informarion\n","args":["a"],"cases":[["BadUrl",["String.String"]],["Timeout",[]],["NetworkError",[]],["BadStatus",["Http.Metadata","a"]],["BadBody",["Http.Metadata","String.String"]]]},{"name":"Part","comment":" Part\n","args":[],"cases":[["StringPart",["String.String","String.String"]],["FilePart",["String.String","File.File"]],["BytesPart",["String.String","String.String","Bytes.Bytes"]]]}],"aliases":[{"name":"Req","comment":" Request\n","args":[],"type":"{ method : String.String, url : String.String, headers : List.List ( String.String, String.String ), body : Req.Body, timeout : Maybe.Maybe Basics.Float, allowCookiesFromOtherDomains : Basics.Bool }"}],"values":[{"name":"allowCookiesFromOtherDomains","comment":" Allow cookies from other domains.\n","type":"Basics.Bool -> Req.Req -> Req.Req"},{"name":"bytesPart","comment":" Bytes part (key and mime and bytes)\n","type":"String.String -> String.String -> Bytes.Bytes -> Req.Part"},{"name":"bytesTask","comment":" Create a task to parse bytes body.\n","type":"(Req.Req -> Http.Response Bytes.Bytes -> Result.Result x a) -> Req.Req -> Task.Task x a"},{"name":"delete","comment":" DELETE\n","type":"String.String -> Req.Req"},{"name":"filePart","comment":" String part (key and file)\n","type":"String.String -> File.File -> Req.Part"},{"name":"get","comment":" GET\n","type":"String.String -> Req.Req"},{"name":"init","comment":" Arbitrary method\n","type":"String.String -> String.String -> Req.Req"},{"name":"patch","comment":" PATCH\n","type":"String.String -> Req.Req"},{"name":"post","comment":" POST\n","type":"String.String -> Req.Req"},{"name":"put","comment":" PUT\n","type":"String.String -> Req.Req"},{"name":"resolveJson","comment":" Make a resolver function that returns `Req.Error`.\n\n    getUserSimple : String -> Task Http.Error User\n    getUserSimple userName =\n        Req.get (\"https://api.github.com/users/\" ++ userName)\n            |> Req.stringTask\n                (Req.resolveJson\n                    { decoder = userDecoder\n                    , errorDecoder = errorDecoder\n                    }\n                )\n\n    - First decoder is used for good body\n    - First decoder is used for bad body\n    - Decoding errors of both go to BadBody\n\n","type":"{ decoder : Json.Decode.Decoder a, errorDecoder : Http.Metadata -> Json.Decode.Decoder e } -> Req.Req -> Http.Response String.String -> Result.Result (Req.Error e) a"},{"name":"simplyResolveJson","comment":" Make a resolver function that returns `Http.Error`.\n\n    getUserSimple : String -> Task Http.Error User\n    getUserSimple userName =\n        Req.get (\"https://api.github.com/users/\" ++ userName)\n            |> Req.stringTask (Req.simplyResolveJson userDecoder)\n\n","type":"Json.Decode.Decoder a -> Req.Req -> Http.Response String.String -> Result.Result Http.Error a"},{"name":"stringPart","comment":" String part (key and value)\n","type":"String.String -> String.String -> Req.Part"},{"name":"stringTask","comment":" Create a task to parse string body.\n","type":"(Req.Req -> Http.Response String.String -> Result.Result x a) -> Req.Req -> Task.Task x a"},{"name":"toTask","comment":" Create a task with existing `Http.Resolver`.\n","type":"Http.Resolver x a -> Req.Req -> Task.Task x a"},{"name":"track","comment":" Make a traking Cmd using existing `Http.Expect`.\n","type":"String.String -> Http.Expect msg -> Req.Req -> Platform.Cmd.Cmd msg"},{"name":"trackBytes","comment":" Track progress of responses with bytes body.\n","type":"String.String -> (Result.Result x a -> msg) -> (Req.Req -> Http.Response Bytes.Bytes -> Result.Result x a) -> Req.Req -> Platform.Cmd.Cmd msg"},{"name":"trackString","comment":" Track progress of responses with string body.\n","type":"String.String -> (Result.Result x a -> msg) -> (Req.Req -> Http.Response String.String -> Result.Result x a) -> Req.Req -> Platform.Cmd.Cmd msg"},{"name":"trackWhatever","comment":" Track something but ignore the result.\n","type":"String.String -> (Result.Result Basics.Never () -> msg) -> Req.Req -> Platform.Cmd.Cmd msg"},{"name":"whateverTask","comment":" Ignore the result.\n","type":"msg -> Req.Req -> Task.Task x msg"},{"name":"withBytesBody","comment":" Add bytes with mime type.\n","type":"String.String -> Bytes.Bytes -> Req.Req -> Req.Req"},{"name":"withFileBody","comment":" Add file to upload\n","type":"File.File -> Req.Req -> Req.Req"},{"name":"withHeader","comment":" Add header\n","type":"String.String -> String.String -> Req.Req -> Req.Req"},{"name":"withJsonBody","comment":" Add JSON for POST etc.\n","type":"Json.Encode.Value -> Req.Req -> Req.Req"},{"name":"withMultipartBody","comment":" Add multipart body.\n","type":"List.List Req.Part -> Req.Req -> Req.Req"},{"name":"withStringBody","comment":" Add text with mime type.\n","type":"String.String -> String.String -> Req.Req -> Req.Req"},{"name":"withTimeout","comment":" Add timeout\n","type":"Basics.Float -> Req.Req -> Req.Req"}],"binops":[]}]