Adds middleware that wraps every request (in the order added), including ones with no route.
hello :: () -> string {
return "hello";
}
add_header :: (request: *Request, next: Next) -> Response {
return with_header(next(request), "X-Served-By", "jacket");
}
main :: () {
app: App;
defer free_app(*app);
get(*app, "/hello", hello);
use(*app, add_header);
api := test_client(*app);
response, _ := get(api, "/hello");
defer close(*response);
value, found := header(*response, "X-Served-By");
assert(found && value == "jacket");
}Doesn't run in the browser (skipped on wasm).
use :: (app: *App, middleware: Middleware)
Parameters
- app: *App
- middleware: Middleware
use :: (group: *Group($P), middleware: Middleware)
Adds middleware to a group for the routes registered after this call.
Parameters
- group: *Group($P)
- middleware: Middleware
hello :: () -> string {
return "hello";
}
add_header :: (request: *Request, next: Next) -> Response {
return with_header(next(request), "X-Area", "admin");
}
main :: () {
app: App;
defer free_app(*app);
admin := group(*app, "/admin");
use(admin, add_header);
get(admin, "/hello", hello);
api := test_client(*app);
response, _ := get(api, "/admin/hello");
defer close(*response);
value, found := header(*response, "X-Area");
assert(found && value == "admin");
}Doesn't run in the browser (skipped on wasm).