srctree

Gregory Mullen parent 534fee43 f314535b
simplify endpoint api

inlinesplit
examples/endpoint.zig added: 25, removed: 31, total 0
@@ -18,10 +18,10 @@ const Endpoints = verse.Endpoints(.{
});
 
pub fn main() !void {
var endpoints = Endpoints.init(std.heap.page_allocator);
endpoints.serve(.{
.mode = .{ .http = .{ .port = 8084 } },
}) catch |err| {
Endpoints.serve(
std.heap.page_allocator,
.{ .mode = .{ .http = .{ .port = 8084 } } },
) catch |err| {
std.log.err("Unable to serve endpoints! err: [{}]", .{err});
@panic("endpoint error");
};
 
examples/request-userdata.zig added: 25, removed: 31, total 0
@@ -122,11 +122,11 @@ pub fn main() !void {
const Endpoints = verse.Endpoints(.{
Root,
});
var endpoints = Endpoints.init(std.heap.page_allocator);
 
endpoints.serve(.{
.mode = .{ .http = .{ .port = 8084 } },
}) catch |err| {
Endpoints.serve(
std.heap.page_allocator,
.{ .mode = .{ .http = .{ .port = 8084 } } },
) catch |err| {
std.log.err("Unable to serve endpoints! err: [{}]", .{err});
@panic("endpoint error");
};
 
examples/stats.zig added: 25, removed: 31, total 0
@@ -5,11 +5,13 @@ const Endpoints = verse.Endpoints(.{
});
 
pub fn main() !void {
var endpoints = Endpoints.init(std.heap.page_allocator);
endpoints.serve(.{
.mode = .{ .http = .{ .port = 8088 } },
.stats = true,
}) catch |err| {
Endpoints.serve(
std.heap.page_allocator,
.{
.mode = .{ .http = .{ .port = 8088 } },
.stats = true,
},
) catch |err| {
std.log.err("Unable to serve stats err: [{}]", .{err});
@panic("endpoint error");
};
 
examples/websocket.zig added: 25, removed: 31, total 0
@@ -70,9 +70,8 @@ pub fn main() !void {
const Endpoints = verse.Endpoints(.{
Root,
});
var endpoints = Endpoints.init(std.heap.page_allocator);
 
endpoints.serve(.{
Endpoints.serve(std.heap.page_allocator, .{
.mode = .{ .http = .{ .port = 8088 } },
}) catch |err| {
std.log.err("Unable to serve endpoints! err: [{}]", .{err});
 
src/endpoint.zig added: 25, removed: 31, total 0
@@ -17,8 +17,6 @@ pub fn Endpoints(endpoints: anytype) type {
}
 
return struct {
alloc: Allocator,
 
pub const Self = @This();
pub const Endpoints = endpoints;
 
@@ -34,14 +32,8 @@ pub fn Endpoints(endpoints: anytype) type {
break :brk rtr;
};
 
pub fn init(a: Allocator) Self {
return .{
.alloc = a,
};
}
 
pub fn serve(self: *Self, options: Options) !void {
var server = try Server.init(self.alloc, router, options);
pub fn serve(a: Allocator, options: Options) !void {
var server = try Server.init(a, router, options);
try server.serve();
}
 
@@ -138,6 +130,7 @@ fn routeCount(endpoints: anytype) usize {
 
test routeCount {
comptime {
const Frame = @import("frame.zig");
try std.testing.expectEqual(0, routeCount(.{
struct {
const verse_name = .testing;
@@ -262,6 +255,7 @@ fn buildRoutes(EP: type) [routeCount(.{EP})]Router.Match {
 
test Endpoints {
const Example = struct {
const Frame = @import("frame.zig");
pub fn nopEndpoint(_: *Frame) Router.Error!void {}
};
 
@@ -282,7 +276,6 @@ test Endpoints {
const std = @import("std");
const Allocator = std.mem.Allocator;
const eql = std.mem.eql;
const Frame = @import("frame.zig");
const Auth = @import("auth.zig");
const Server = @import("server.zig");
const Router = @import("router.zig");