Skip to content

🕸️ Types and functions for HTTP clients and servers!

License

Notifications You must be signed in to change notification settings

midas-framework/http

 
 

Repository files navigation

Gleam HTTP

Types and functions for HTTP clients and servers!

HTTP Service Example

import gleam/http/elli
import gleam/http.{Request, Response}
import gleam/bit_builder.{BitBuilder}

// Define a HTTP service
//
pub fn my_service(req: Request(BitString)) -> Response(BitBuilder) {
  let body = bit_builder.from_string("Hello, world!")

  http.response(200)
  |> http.prepend_resp_header("made-with", "Gleam")
  |> http.set_resp_body(body)
}

// Start it on port 3000 using the Elli web server
//
pub fn start() {
  elli.start(my_service, on_port: 3000)
}

Server adapters

In the example above the Elli Erlang web server is used to run the Gleam HTTP service. Here's a full list of the server adapters available, sorted alphabetically.

Adapter About
gleam_cowboy Cowboy is an Erlang HTTP2 & HTTP1.1 web server
gleam_elli Elli is an Erlang HTTP1.1 web server
gleam_plug Plug is an Elixir web application interface

Client adapters

Client adapters are used to send HTTP requests to services over the network. Here's a full list of the client adapters available, sorted alphabetically.

Adapter About
gleam_httpc httpc is a HTTP client included with Erlang

About

🕸️ Types and functions for HTTP clients and servers!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 91.5%
  • Erlang 8.5%