Http module

Params

structSource

Several {params} at once: every field of T names a parameter of the route. The T lives in temporary storage for the request.

Example
Post_Key :: struct {
    user: int;
    post: string;
}

get_post :: (key: Params(Post_Key)) -> string {
    return tprint("% / %", key.temporary.user, key.temporary.post);
}

main :: () {
    app: App;
    defer free_app(*app);

    get(*app, "/users/{user}/posts/{post}", get_post);

    api := test_client(*app);
    response, _ := get(api, "/users/7/posts/intro");
    defer close(*response);

    text, _ := read_text(*response);
    defer free(text);

    assert(text == "7 / intro");
}

Doesn't run in the browser (skipped on wasm).

Fields

temporary: T

See also