Http example passes roc check

This commit is contained in:
Brian Carroll 2022-07-16 11:51:46 +01:00
parent 4be19ed320
commit bee6f2f833
No known key found for this signature in database
GPG Key ID: 9CF4E3BF9C4722C7
2 changed files with 13 additions and 15 deletions

View File

@ -4,7 +4,7 @@ interface Http
emptyBody, emptyBody,
bytesBody, bytesBody,
stringBody, stringBody,
jsonBody, # jsonBody,
multiPartBody, multiPartBody,
stringPart, stringPart,
bytesPart, bytesPart,
@ -16,9 +16,9 @@ interface Http
imports [ imports [
Effect, Effect,
InternalTask, InternalTask,
Json, # Json,
Task.{ Task }, Task.{ Task },
Encode.{ Encoding }, # Encode.{ Encoding },
HttpTypes.{ Request, Header, TimeoutConfig, TrackerConfig, Part, Body, Response, Metadata, Error }, HttpTypes.{ Request, Header, TimeoutConfig, TrackerConfig, Part, Body, Response, Metadata, Error },
] ]
@ -52,9 +52,9 @@ stringBody : [MimeType Str], Str -> Body
stringBody = \mimeType, str -> stringBody = \mimeType, str ->
Body mimeType (Str.toUtf8 str) Body mimeType (Str.toUtf8 str)
jsonBody : a -> Body | a has Encoding # jsonBody : a -> Body | a has Encoding
jsonBody = \val -> # jsonBody = \val ->
Body (MimeType "application/json") (Encode.toBytes val Json.format) # Body (MimeType "application/json") (Encode.toBytes val Json.format)
multiPartBody : List Part -> Body multiPartBody : List Part -> Body
multiPartBody = \parts -> multiPartBody = \parts ->

View File

@ -1,17 +1,15 @@
app "http-get" app "http-get"
packages { pf: "cli-platform/main.roc" } packages { pf: "cli-platform/main.roc" }
imports [pf.Http, pf.Task, pf.Stdout] imports [pf.Http, pf.HttpTypes, pf.Task, pf.Stdout]
provides [main] to pf provides [main] to pf
main : Task.Task {} [] [Write [Stdout], Network [Http]] main : Task.Task {} [] [Write [Stdout], Network [Http]]
main = main =
# request : Request request : HttpTypes.Request
# request = { defaultRequest & url: "https://httpbin.org/get" } request = { Http.defaultRequest & url: "https://httpbin.org/get" }
output <- Http.send request
|> Task.onFail (\err -> err |> Http.errorToString |> Task.succeed)
|> Task.await
# result <- Http.send request |> Task.await
# output =
# when result is
# Ok payload -> payload
# Err httpError -> Http.errorToString httpError
output = "Hello"
Stdout.line output Stdout.line output