web: some stuff
This commit is contained in:
16
packages/web/src/RequestRouter.zig
Normal file
16
packages/web/src/RequestRouter.zig
Normal file
@@ -0,0 +1,16 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user