midgard

Types

A framework request passed to a worker handler.

pub type Request {
  Request(
    method: BitArray,
    path: BitArray,
    query_string: BitArray,
    headers: List(#(BitArray, BitArray)),
    body: BitArray,
  )
}

Constructors

  • Request(
      method: BitArray,
      path: BitArray,
      query_string: BitArray,
      headers: List(#(BitArray, BitArray)),
      body: BitArray,
    )

A framework response returned by a worker handler.

pub type Response {
  Response(status: Int, body: BitArray)
}

Constructors

  • Response(status: Int, body: BitArray)

Values

pub fn decode_request(input: BitArray) -> Result(Request, Nil)

Decodes a midgard.bytes.v1 request frame.

pub fn encode_response(response: Response) -> BitArray

Encodes a response as a midgard.bytes.v1 binary frame.

pub fn serve(
  input: BitArray,
  handler: fn(Request) -> Response,
) -> BitArray

Runs a request handler over a midgard.bytes.v1 frame. Malformed frames receive a 400 response.

✨ Search Document