Hackney

GitHub release Discord chat CI

Bindings to Erlang’s hackney HTTP client.

import gleam/result.{try}
import gleam/hackney
import gleam/http.{Get}
import gleam/http/request
import gleam/http/response
import gleeunit/should

pub fn main() {
 // Prepare a HTTP request record
 let assert Ok(request) =
   request.to("https://test-api.service.hmrc.gov.uk/hello/world")

 // Send the HTTP request to the server
 use response <- try(
   request
   |> request.prepend_header("accept", "application/vnd.hmrc.1.0+json")
   |> hackney.send
 )

 // We get a response record back
 response.status
 |> should.equal(200)

 response
 |> response.get_header("content-type")
 |> should.equal(Ok("application/json"))

 response.body
 |> should.equal("{\"message\":\"Hello World\"}")

 Ok(response)
}

Installation

gleam add gleam_hackney
Search Document