mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 14:24:45 +00:00
22 lines
745 B
Text
22 lines
745 B
Text
app "echo"
|
|
packages { pf: "https://github.com/roc-lang/basic-webserver/releases/download/0.1/dCL3KsovvV-8A5D_W_0X_abynkcRcoAngsgF0xtvQsk.tar.br" }
|
|
imports [
|
|
pf.Stdout,
|
|
pf.Task.{ Task },
|
|
pf.Http.{ Request, Response },
|
|
pf.Utc,
|
|
]
|
|
provides [main] to pf
|
|
|
|
main : Request -> Task Response []
|
|
main = \req ->
|
|
|
|
# Log request date, method and url
|
|
date <- Utc.now |> Task.map Utc.toIso8601Str |> Task.await
|
|
{} <- Stdout.line "\(date) \(Http.methodToStr req.method) \(req.url)" |> Task.await
|
|
|
|
# Respond with request body
|
|
when req.body is
|
|
EmptyBody -> Task.ok { status: 200, headers: [], body: [] }
|
|
Body internal -> Task.ok { status: 200, headers: [], body: internal.body }
|
|
|