Make HTTP requests in Gleam JavaScript with Fetch.
gleam add gleam_fetch@1 gleam_http
import gleam/fetch
import gleam/http/request
import gleam/http/response
import gleam/javascript/promise
pub fn main() {
let assert Ok(req) = request.to("https://example.com")
// Send the HTTP request to the server
use resp <- promise.try_await(fetch.send(req))
use resp <- promise.try_await(fetch.read_text_body(resp))
// We get a response record back
resp.status
// -> 200
response.get_header(resp, "content-type")
// -> Ok("text/html; charset=UTF-8")
promise.resolve(Ok(Nil))
}
Documentation can be found at https://hexdocs.pm/gleam_fetch.
Warning
If you are running your Gleam project on the Erlang target (the default for
new Gleam projects) then you will want to use a different library which can
run on Erlang, such as gleam_httpc
.