const has_arg = f_decl.name.len > 1 and f_decl.name[f_decl.name.len - 1] == '/';
const match = if (has_arg) std.mem.startsWith(u8, self.req.target, f_decl.name) else std.mem.eql(u8, self.req.target, f_decl.name);
if (match) {
const f = @field(Self, f_decl.name);
const fi = @typeInfo(@TypeOf(f));
const has_arg = f_decl.name.len > 1 and f_decl.name[f_decl.name.len - 1] == '/';
const match = if (has_arg) std.mem.startsWith(u8, self.req.target, f_decl.name) else std.mem.eql(u8, self.req.target, f_decl.name);
if (match) {
const f = @field(Self, f_decl.name);
const fi = @typeInfo(@TypeOf(f));