Bindings to Erlang's built in HTTP client, httpc.
gleam add gleam_httpc@5
import gleam/http/request import gleam/http/response import gleam/httpc import gleam/result pub fn send_request() { // Prepare a HTTP request record let assert Ok(base_req) = request.to("https://test-api.service.hmrc.gov.uk/hello/world") let req = request.prepend_header(base_req, "accept", "application/vnd.hmrc.1.0+json") // Send the HTTP request to the server use resp <- result.try(httpc.send(req)) // We get a response record back assert resp.status == 200 let content_type = response.get_header(resp, "content-type") assert content_type == Ok("application/json") assert resp.body == "{\"message\":\"Hello World\"}" Ok(resp) }
Older versions of HTTPC do not verify TLS connections by default, so with them your connection may not be secure when using this library. Consider upgrading to a newer version of Erlang/OTP, or using a different HTTP client such as hackney.