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)