const std = @import("std"); const builtin = @import("builtin"); const httpz = @import("httpz"); const protocol = @import("protocol"); const authentication = @import("authentication.zig"); const dispatch = @import("dispatch.zig"); const PORT = 21000; pub const std_options = .{ .log_level = switch (builtin.mode) { .Debug => .debug, else => .info, }, }; pub fn main() !void { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator(); var server = try httpz.Server().init(allocator, .{ .port = PORT }); defer server.stop(); defer server.deinit(); var router = server.router(); router.get("/query_dispatch", dispatch.onQueryDispatch); router.get("/query_gateway", dispatch.onQueryGateway); router.post("/account/risky/api/check", authentication.onRiskyApiCheck); router.post("/:product_name/mdk/shield/api/login", authentication.onShieldLogin); router.post("/:product_name/mdk/shield/api/verify", authentication.onVerifyLogin); router.post("/:product_name/combo/granter/login/v2/login", authentication.onComboTokenReq); std.log.info("Dispatch is listening at localhost:{?}", .{server.config.port}); try server.listen(); }