Files
castle/packages/web/src/RequestRouter.zig
2026-03-07 21:08:22 +01:00

17 lines
436 B
Zig

const std = @import("std");
const RequestRouter = @This();
const RequestHandler = @import("RequestHandler.zig");
const Route = @import("Route.zig");
ptr: *anyopaque,
vtable: *const VTable,
pub const VTable = struct {
route: *const fn (self: *anyopaque, route: Route) anyerror!RequestHandler,
};
pub inline fn rawRoute(self: RequestRouter, route: Route) anyerror!RequestHandler {
return self.vtable.route(self.ptr, route);
}