radiant/middleware

Built-in middleware and related config types.

Types

Configuration for the CORS middleware.

pub type CorsConfig {
  CorsConfig(
    origins: List(String),
    methods: List(http.Method),
    headers: List(String),
    max_age: Int,
  )
}

Constructors

  • CorsConfig(
      origins: List(String),
      methods: List(http.Method),
      headers: List(String),
      max_age: Int,
    )

A swappable interface for file system operations.

pub type FileSystem {
  FileSystem(
    read_bits: fn(String) -> Result(BitArray, Nil),
    is_file: fn(String) -> Bool,
  )
}

Constructors

  • FileSystem(
      read_bits: fn(String) -> Result(BitArray, Nil),
      is_file: fn(String) -> Bool,
    )
pub type Middleware =
  fn(fn(request.Req) -> response.Response(BitArray)) -> fn(
    request.Req,
  ) -> response.Response(BitArray)

Values

pub fn cors(
  config: CorsConfig,
) -> fn(fn(request.Req) -> response.Response(BitArray)) -> fn(
  request.Req,
) -> response.Response(BitArray)
pub fn default_cors() -> CorsConfig
pub fn json_body(
  key: request.Key(a),
  decoder: decode.Decoder(a),
) -> fn(fn(request.Req) -> response.Response(BitArray)) -> fn(
  request.Req,
) -> response.Response(BitArray)
pub fn log(
  logger: fn(String) -> a,
) -> fn(fn(request.Req) -> response.Response(BitArray)) -> fn(
  request.Req,
) -> response.Response(BitArray)
pub fn rescue(
  on_error: fn(exception.Exception) -> response.Response(BitArray),
) -> fn(fn(request.Req) -> response.Response(BitArray)) -> fn(
  request.Req,
) -> response.Response(BitArray)
pub fn serve_static(
  prefix prefix: String,
  from directory: String,
  via fs: FileSystem,
) -> fn(fn(request.Req) -> response.Response(BitArray)) -> fn(
  request.Req,
) -> response.Response(BitArray)
Search Document