fetch
fetch copied to clipboard
📡 Make requests to HTTP servers with fetch
Fetch
Bindings to JavaScript's built in HTTP client, fetch.
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.
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))
}