1
0
Fork 0
mirror of https://github.com/zigzap/zap.git synced 2025-10-21 07:34:08 +00:00

Replace immutable var to const due to zig 0.12.0-dev.1664+8ca4a5240

This commit is contained in:
Ed Yu 2023-11-21 15:07:08 -08:00
parent a72b66c950
commit 3de8e97451
19 changed files with 68 additions and 68 deletions

View file

@ -12,7 +12,7 @@ pub fn build(b: *std.build.Builder) !void {
}); });
// create a module to be used internally. // create a module to be used internally.
var zap_module = b.createModule(.{ const zap_module = b.createModule(.{
.source_file = .{ .path = "src/zap.zig" }, .source_file = .{ .path = "src/zap.zig" },
}); });
@ -200,7 +200,7 @@ pub fn build(b: *std.build.Builder) !void {
// //
// pkghash // pkghash
// //
var pkghash_exe = b.addExecutable(.{ const pkghash_exe = b.addExecutable(.{
.name = "pkghash", .name = "pkghash",
.root_source_file = .{ .path = "./tools/pkghash.zig" }, .root_source_file = .{ .path = "./tools/pkghash.zig" },
.target = target, .target = target,
@ -214,13 +214,13 @@ pub fn build(b: *std.build.Builder) !void {
// //
// announceybot // announceybot
// //
var announceybot_exe = b.addExecutable(.{ const announceybot_exe = b.addExecutable(.{
.name = "announceybot", .name = "announceybot",
.root_source_file = .{ .path = "./tools/announceybot.zig" }, .root_source_file = .{ .path = "./tools/announceybot.zig" },
.target = target, .target = target,
.optimize = optimize, .optimize = optimize,
}); });
var announceybot_step = b.step("announceybot", "Build announceybot"); const announceybot_step = b.step("announceybot", "Build announceybot");
const announceybot_build_step = b.addInstallArtifact(announceybot_exe, .{}); const announceybot_build_step = b.addInstallArtifact(announceybot_exe, .{});
announceybot_step.dependOn(&announceybot_build_step.step); announceybot_step.dependOn(&announceybot_build_step.step);
all_step.dependOn(&announceybot_build_step.step); all_step.dependOn(&announceybot_build_step.step);

View file

@ -16,7 +16,7 @@ const Handler = struct {
// check for query params (for ?terminate=true) // check for query params (for ?terminate=true)
r.parseQuery(); r.parseQuery();
var param_count = r.getParamCount(); const param_count = r.getParamCount();
std.log.info("param_count: {}", .{param_count}); std.log.info("param_count: {}", .{param_count});
// iterate over all params // iterate over all params
@ -87,7 +87,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
Handler.alloc = allocator; Handler.alloc = allocator;

View file

@ -28,7 +28,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
const Handler = struct { const Handler = struct {
var alloc: std.mem.Allocator = undefined; var alloc: std.mem.Allocator = undefined;
@ -39,7 +39,7 @@ pub fn main() !void {
r.parseCookies(false); r.parseCookies(false);
var cookie_count = r.getCookiesCount(); const cookie_count = r.getCookiesCount();
std.log.info("cookie_count: {}", .{cookie_count}); std.log.info("cookie_count: {}", .{cookie_count});
// iterate over all cookies as strings // iterate over all cookies as strings

View file

@ -82,7 +82,7 @@ fn listUsers(self: *Self, r: zap.SimpleRequest) void {
fn postUser(e: *zap.SimpleEndpoint, r: zap.SimpleRequest) void { fn postUser(e: *zap.SimpleEndpoint, r: zap.SimpleRequest) void {
const self = @fieldParentPtr(Self, "endpoint", e); const self = @fieldParentPtr(Self, "endpoint", e);
if (r.body) |body| { if (r.body) |body| {
var maybe_user: ?std.json.Parsed(User) = std.json.parseFromSlice(User, self.alloc, body, .{}) catch null; const maybe_user: ?std.json.Parsed(User) = std.json.parseFromSlice(User, self.alloc, body, .{}) catch null;
if (maybe_user) |u| { if (maybe_user) |u| {
defer u.deinit(); defer u.deinit();
if (self.users.addByName(u.value.first_name, u.value.last_name)) |id| { if (self.users.addByName(u.value.first_name, u.value.last_name)) |id| {
@ -104,7 +104,7 @@ fn putUser(e: *zap.SimpleEndpoint, r: zap.SimpleRequest) void {
if (self.userIdFromPath(path)) |id| { if (self.userIdFromPath(path)) |id| {
if (self.users.get(id)) |_| { if (self.users.get(id)) |_| {
if (r.body) |body| { if (r.body) |body| {
var maybe_user: ?std.json.Parsed(User) = std.json.parseFromSlice(User, self.alloc, body, .{}) catch null; const maybe_user: ?std.json.Parsed(User) = std.json.parseFromSlice(User, self.alloc, body, .{}) catch null;
if (maybe_user) |u| { if (maybe_user) |u| {
defer u.deinit(); defer u.deinit();
var jsonbuf: [128]u8 = undefined; var jsonbuf: [128]u8 = undefined;

View file

@ -16,7 +16,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
// we scope everything that can allocate within this block for leak detection // we scope everything that can allocate within this block for leak detection
{ {

View file

@ -41,7 +41,7 @@ fn setupUserData(a: std.mem.Allocator) !void {
} }
pub fn main() !void { pub fn main() !void {
var a = std.heap.page_allocator; const a = std.heap.page_allocator;
try setupUserData(a); try setupUserData(a);
var listener = zap.SimpleHttpListener.init(.{ var listener = zap.SimpleHttpListener.init(.{
.port = 3000, .port = 3000,

View file

@ -27,7 +27,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
const Handler = struct { const Handler = struct {
var alloc: std.mem.Allocator = undefined; var alloc: std.mem.Allocator = undefined;
@ -44,7 +44,7 @@ pub fn main() !void {
// check for query parameters // check for query parameters
r.parseQuery(); r.parseQuery();
var param_count = r.getParamCount(); const param_count = r.getParamCount();
std.log.info("param_count: {}", .{param_count}); std.log.info("param_count: {}", .{param_count});
// iterate over all params as strings // iterate over all params as strings

View file

@ -72,7 +72,7 @@ const UserMiddleWare = struct {
pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool { pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool {
// this is how we would get our self pointer // this is how we would get our self pointer
var self = @fieldParentPtr(Self, "handler", handler); const self = @fieldParentPtr(Self, "handler", handler);
_ = self; _ = self;
// do our work: fill in the user field of the context // do our work: fill in the user field of the context
@ -115,7 +115,7 @@ const SessionMiddleWare = struct {
// note that the first parameter is of type *Handler, not *Self !!! // note that the first parameter is of type *Handler, not *Self !!!
pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool { pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool {
// this is how we would get our self pointer // this is how we would get our self pointer
var self = @fieldParentPtr(Self, "handler", handler); const self = @fieldParentPtr(Self, "handler", handler);
_ = self; _ = self;
context.session = Session{ context.session = Session{
@ -151,7 +151,7 @@ const HtmlMiddleWare = struct {
pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool { pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool {
// this is how we would get our self pointer // this is how we would get our self pointer
var self = @fieldParentPtr(Self, "handler", handler); const self = @fieldParentPtr(Self, "handler", handler);
_ = self; _ = self;
std.debug.print("\n\nHtmlMiddleware: handling request with context: {any}\n\n", .{context}); std.debug.print("\n\nHtmlMiddleware: handling request with context: {any}\n\n", .{context});
@ -190,7 +190,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
SharedAllocator.init(allocator); SharedAllocator.init(allocator);
// we create our HTML middleware component that handles the request // we create our HTML middleware component that handles the request

View file

@ -59,7 +59,7 @@ const UserMiddleWare = struct {
pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool { pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool {
// this is how we would get our self pointer // this is how we would get our self pointer
var self = @fieldParentPtr(Self, "handler", handler); const self = @fieldParentPtr(Self, "handler", handler);
_ = self; _ = self;
// do our work: fill in the user field of the context // do our work: fill in the user field of the context
@ -104,7 +104,7 @@ const SessionMiddleWare = struct {
// note that the first parameter is of type *Handler, not *Self !!! // note that the first parameter is of type *Handler, not *Self !!!
pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool { pub fn onRequest(handler: *Handler, r: zap.SimpleRequest, context: *Context) bool {
// this is how we would get our self pointer // this is how we would get our self pointer
var self = @fieldParentPtr(Self, "handler", handler); const self = @fieldParentPtr(Self, "handler", handler);
_ = self; _ = self;
context.session = Session{ context.session = Session{
@ -154,7 +154,7 @@ const HtmlEndpoint = struct {
} }
pub fn get(ep: *zap.SimpleEndpoint, r: zap.SimpleRequest) void { pub fn get(ep: *zap.SimpleEndpoint, r: zap.SimpleRequest) void {
var self = @fieldParentPtr(Self, "endpoint", ep); const self = @fieldParentPtr(Self, "endpoint", ep);
_ = self; _ = self;
var buf: [1024]u8 = undefined; var buf: [1024]u8 = undefined;
@ -199,7 +199,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
SharedAllocator.init(allocator); SharedAllocator.init(allocator);
// create the endpoint // create the endpoint

View file

@ -123,7 +123,7 @@ pub fn main() !void {
// we start a block here so the defers will run before we call the gpa // we start a block here so the defers will run before we call the gpa
// to detect leaks // to detect leaks
{ {
var allocator = gpa.allocator(); const allocator = gpa.allocator();
var listener = zap.SimpleHttpListener.init(.{ var listener = zap.SimpleHttpListener.init(.{
.port = 3000, .port = 3000,
.on_request = on_request, .on_request = on_request,

View file

@ -46,8 +46,8 @@ const ContextManager = struct {
self.lock.lock(); self.lock.lock();
defer self.lock.unlock(); defer self.lock.unlock();
var ctx = try self.allocator.create(Context); const ctx = try self.allocator.create(Context);
var userName = try std.fmt.allocPrint( const userName = try std.fmt.allocPrint(
self.allocator, self.allocator,
"{s}{d}", "{s}{d}",
.{ self.usernamePrefix, self.contexts.items.len }, .{ self.usernamePrefix, self.contexts.items.len },
@ -201,7 +201,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
GlobalContextManager = ContextManager.init(allocator, "chatroom", "user-"); GlobalContextManager = ContextManager.init(allocator, "chatroom", "user-");
defer GlobalContextManager.deinit(); defer GlobalContextManager.deinit();

View file

@ -118,10 +118,10 @@ pub const struct_fio_str_info_s = extern struct {
pub const fio_str_info_s = struct_fio_str_info_s; pub const fio_str_info_s = struct_fio_str_info_s;
pub extern fn http_send_body(h: [*c]http_s, data: ?*anyopaque, length: usize) c_int; pub extern fn http_send_body(h: [*c]http_s, data: ?*anyopaque, length: usize) c_int;
pub fn fiobj_each1(arg_o: FIOBJ, arg_start_at: usize, arg_task: ?*const fn (FIOBJ, ?*anyopaque) callconv(.C) c_int, arg_arg: ?*anyopaque) callconv(.C) usize { pub fn fiobj_each1(arg_o: FIOBJ, arg_start_at: usize, arg_task: ?*const fn (FIOBJ, ?*anyopaque) callconv(.C) c_int, arg_arg: ?*anyopaque) callconv(.C) usize {
var o = arg_o; const o = arg_o;
var start_at = arg_start_at; const start_at = arg_start_at;
var task = arg_task; const task = arg_task;
var arg = arg_arg; const arg = arg_arg;
if ((((o != 0) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) == @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 0)))))) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) != @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6)))))) and (fiobj_type_vtable(o).*.each != null)) return fiobj_type_vtable(o).*.each.?(o, start_at, task, arg); if ((((o != 0) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) == @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 0)))))) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) != @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6)))))) and (fiobj_type_vtable(o).*.each != null)) return fiobj_type_vtable(o).*.each.?(o, start_at, task, arg);
return 0; return 0;
} }
@ -241,8 +241,8 @@ pub const fiobj_object_header_s = extern struct {
ref: u32, ref: u32,
}; };
pub fn fiobj_type_is(arg_o: FIOBJ, arg_type: fiobj_type_enum) callconv(.C) usize { pub fn fiobj_type_is(arg_o: FIOBJ, arg_type: fiobj_type_enum) callconv(.C) usize {
var o = arg_o; const o = arg_o;
var @"type" = arg_type; const @"type" = arg_type;
while (true) { while (true) {
switch (@as(c_int, @bitCast(@as(c_uint, @"type")))) { switch (@as(c_int, @bitCast(@as(c_uint, @"type")))) {
@as(c_int, 1) => return @as(usize, @bitCast(@as(c_long, @intFromBool(((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) != 0) or (@as(c_int, @bitCast(@as(c_uint, @as([*c]fiobj_type_enum, @ptrFromInt(o))[@as(c_uint, @intCast(@as(c_int, 0)))]))) == FIOBJ_T_NUMBER))))), @as(c_int, 1) => return @as(usize, @bitCast(@as(c_long, @intFromBool(((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) != 0) or (@as(c_int, @bitCast(@as(c_uint, @as([*c]fiobj_type_enum, @ptrFromInt(o))[@as(c_uint, @intCast(@as(c_int, 0)))]))) == FIOBJ_T_NUMBER))))),
@ -264,7 +264,7 @@ pub fn fiobj_type_is(arg_o: FIOBJ, arg_type: fiobj_type_enum) callconv(.C) usize
return @as(usize, @bitCast(@as(c_long, @intFromBool((((o != 0) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) == @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 0)))))) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) != @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6)))))) and (@as(c_int, @bitCast(@as(c_uint, @as([*c]fiobj_type_enum, @ptrCast(@alignCast(@as(?*anyopaque, @ptrFromInt(o & ~@as(usize, @bitCast(@as(c_long, @as(c_int, 7)))))))))[@as(c_uint, @intCast(@as(c_int, 0)))]))) == @as(c_int, @bitCast(@as(c_uint, @"type")))))))); return @as(usize, @bitCast(@as(c_long, @intFromBool((((o != 0) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) == @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 0)))))) and ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) != @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6)))))) and (@as(c_int, @bitCast(@as(c_uint, @as([*c]fiobj_type_enum, @ptrCast(@alignCast(@as(?*anyopaque, @ptrFromInt(o & ~@as(usize, @bitCast(@as(c_long, @as(c_int, 7)))))))))[@as(c_uint, @intCast(@as(c_int, 0)))]))) == @as(c_int, @bitCast(@as(c_uint, @"type"))))))));
} }
pub fn fiobj_type(arg_o: FIOBJ) callconv(.C) fiobj_type_enum { pub fn fiobj_type(arg_o: FIOBJ) callconv(.C) fiobj_type_enum {
var o = arg_o; const o = arg_o;
if (!(o != 0)) return @as(u8, @bitCast(@as(i8, @truncate(FIOBJ_T_NULL)))); if (!(o != 0)) return @as(u8, @bitCast(@as(i8, @truncate(FIOBJ_T_NULL))));
if ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) != 0) return @as(u8, @bitCast(@as(i8, @truncate(FIOBJ_T_NUMBER)))); if ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 1))))) != 0) return @as(u8, @bitCast(@as(i8, @truncate(FIOBJ_T_NUMBER))));
if ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) == @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) return @as(u8, @bitCast(@as(u8, @truncate(o)))); if ((o & @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) == @as(c_ulong, @bitCast(@as(c_long, @as(c_int, 6))))) return @as(u8, @bitCast(@as(u8, @truncate(o))));
@ -279,7 +279,7 @@ pub extern const FIOBJECT_VTABLE_ARRAY: fiobj_object_vtable_s;
pub extern const FIOBJECT_VTABLE_HASH: fiobj_object_vtable_s; pub extern const FIOBJECT_VTABLE_HASH: fiobj_object_vtable_s;
pub extern const FIOBJECT_VTABLE_DATA: fiobj_object_vtable_s; pub extern const FIOBJECT_VTABLE_DATA: fiobj_object_vtable_s;
pub fn fiobj_type_vtable(arg_o: FIOBJ) callconv(.C) [*c]const fiobj_object_vtable_s { pub fn fiobj_type_vtable(arg_o: FIOBJ) callconv(.C) [*c]const fiobj_object_vtable_s {
var o = arg_o; const o = arg_o;
while (true) { while (true) {
switch (@as(c_int, @bitCast(@as(c_uint, fiobj_type(o))))) { switch (@as(c_int, @bitCast(@as(c_uint, fiobj_type(o))))) {
@as(c_int, 1) => return &FIOBJECT_VTABLE_NUMBER, @as(c_int, 1) => return &FIOBJECT_VTABLE_NUMBER,
@ -314,7 +314,7 @@ pub fn fiobj_obj2float(o: FIOBJ) callconv(.C) f64 {
pub extern fn fio_ltocstr(c_long) fio_str_info_s; pub extern fn fio_ltocstr(c_long) fio_str_info_s;
pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s { pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s {
if (!(o != 0)) { if (!(o != 0)) {
var ret: fio_str_info_s = fio_str_info_s{ const ret: fio_str_info_s = fio_str_info_s{
.capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))), .capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))),
.len = @as(usize, @bitCast(@as(c_long, @as(c_int, 4)))), .len = @as(usize, @bitCast(@as(c_long, @as(c_int, 4)))),
.data = @as([*c]u8, @ptrFromInt(@intFromPtr("null"))), .data = @as([*c]u8, @ptrFromInt(@intFromPtr("null"))),
@ -327,7 +327,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s {
switch (@as(c_int, @bitCast(@as(c_uint, @as(u8, @bitCast(@as(u8, @truncate(o)))))))) { switch (@as(c_int, @bitCast(@as(c_uint, @as(u8, @bitCast(@as(u8, @truncate(o)))))))) {
@as(c_int, 6) => { @as(c_int, 6) => {
{ {
var ret: fio_str_info_s = fio_str_info_s{ const ret: fio_str_info_s = fio_str_info_s{
.capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))), .capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))),
.len = @as(usize, @bitCast(@as(c_long, @as(c_int, 4)))), .len = @as(usize, @bitCast(@as(c_long, @as(c_int, 4)))),
.data = @as([*c]u8, @ptrFromInt(@intFromPtr("null"))), .data = @as([*c]u8, @ptrFromInt(@intFromPtr("null"))),
@ -337,7 +337,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s {
}, },
@as(c_int, 38) => { @as(c_int, 38) => {
{ {
var ret: fio_str_info_s = fio_str_info_s{ const ret: fio_str_info_s = fio_str_info_s{
.capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))), .capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))),
.len = @as(usize, @bitCast(@as(c_long, @as(c_int, 5)))), .len = @as(usize, @bitCast(@as(c_long, @as(c_int, 5)))),
.data = @as([*c]u8, @ptrFromInt(@intFromPtr("false"))), .data = @as([*c]u8, @ptrFromInt(@intFromPtr("false"))),
@ -347,7 +347,7 @@ pub fn fiobj_obj2cstr(o: FIOBJ) callconv(.C) fio_str_info_s {
}, },
@as(c_int, 22) => { @as(c_int, 22) => {
{ {
var ret: fio_str_info_s = fio_str_info_s{ const ret: fio_str_info_s = fio_str_info_s{
.capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))), .capa = @as(usize, @bitCast(@as(c_long, @as(c_int, 0)))),
.len = @as(usize, @bitCast(@as(c_long, @as(c_int, 4)))), .len = @as(usize, @bitCast(@as(c_long, @as(c_int, 4)))),
.data = @as([*c]u8, @ptrFromInt(@intFromPtr("true"))), .data = @as([*c]u8, @ptrFromInt(@intFromPtr("true"))),
@ -509,8 +509,8 @@ pub extern fn http_date2rfc7231(target: [*c]u8, tmbuf: [*c]struct_tm) usize;
pub extern fn http_date2rfc2109(target: [*c]u8, tmbuf: [*c]struct_tm) usize; pub extern fn http_date2rfc2109(target: [*c]u8, tmbuf: [*c]struct_tm) usize;
pub extern fn http_date2rfc2822(target: [*c]u8, tmbuf: [*c]struct_tm) usize; pub extern fn http_date2rfc2822(target: [*c]u8, tmbuf: [*c]struct_tm) usize;
pub fn http_date2str(arg_target: [*c]u8, arg_tmbuf: [*c]struct_tm) callconv(.C) usize { pub fn http_date2str(arg_target: [*c]u8, arg_tmbuf: [*c]struct_tm) callconv(.C) usize {
var target = arg_target; const target = arg_target;
var tmbuf = arg_tmbuf; const tmbuf = arg_tmbuf;
return http_date2rfc7231(target, tmbuf); return http_date2rfc7231(target, tmbuf);
} }
pub extern fn http_time2str(target: [*c]u8, t: time_t) usize; pub extern fn http_time2str(target: [*c]u8, t: time_t) usize;

View file

@ -117,7 +117,7 @@ pub fn BasicAuth(comptime Lookup: type, comptime kind: BasicAuthStrategy) type {
); );
return .AuthFailed; return .AuthFailed;
} }
var decoded = buffer[0..decoded_size]; const decoded = buffer[0..decoded_size];
decoder.decode(decoded, encoded) catch |err| { decoder.decode(decoded, encoded) catch |err| {
zap.debug( zap.debug(
"ERROR: UserPassAuth: unable to decode `{s}`: {any}\n", "ERROR: UserPassAuth: unable to decode `{s}`: {any}\n",
@ -373,7 +373,7 @@ pub fn UserPassSessionAuth(comptime Lookup: type, comptime lockedPwLookups: bool
lookup: *Lookup, lookup: *Lookup,
args: UserPassSessionAuthArgs, args: UserPassSessionAuthArgs,
) !Self { ) !Self {
var ret: Self = .{ const ret: Self = .{
.allocator = allocator, .allocator = allocator,
.settings = .{ .settings = .{
.usernameParam = try allocator.dupe(u8, args.usernameParam), .usernameParam = try allocator.dupe(u8, args.usernameParam),

View file

@ -210,7 +210,7 @@ test "it" {
std.debug.print("field {} : name = {s} : type = {any}\n", .{ i, f.name, f.type }); std.debug.print("field {} : name = {s} : type = {any}\n", .{ i, f.name, f.type });
} }
var mixed: Mixed = .{ const mixed: Mixed = .{
// it's all optionals which we made default to null in MixContexts // it's all optionals which we made default to null in MixContexts
}; };
std.debug.print("mixed = {any}\n", .{mixed}); std.debug.print("mixed = {any}\n", .{mixed});
@ -233,7 +233,7 @@ test "it" {
}; };
// this will fail if we don't specify // this will fail if we don't specify
var nonOpts: NonOpts = .{ const nonOpts: NonOpts = .{
.user = &user, .user = &user,
.session = &session, .session = &session,
}; };

View file

@ -57,7 +57,7 @@ pub const MustacheError = error{
pub fn mustacheNew(load_args: MustacheLoadArgs) MustacheError!*Mustache { pub fn mustacheNew(load_args: MustacheLoadArgs) MustacheError!*Mustache {
var err: mustache_error_en = undefined; var err: mustache_error_en = undefined;
var args: MustacheLoadArgsFio = .{ const args: MustacheLoadArgsFio = .{
.filename = filn: { .filename = filn: {
if (load_args.filename) |filn| break :filn filn.ptr else break :filn null; if (load_args.filename) |filn| break :filn filn.ptr else break :filn null;
}, },
@ -73,7 +73,7 @@ pub fn mustacheNew(load_args: MustacheLoadArgs) MustacheError!*Mustache {
.err = &err, .err = &err,
}; };
var ret = fiobj_mustache_new(args); const ret = fiobj_mustache_new(args);
switch (err) { switch (err) {
0 => return ret.?, 0 => return ret.?,
1 => return MustacheError.MUSTACHE_ERR_TOO_DEEP, 1 => return MustacheError.MUSTACHE_ERR_TOO_DEEP,
@ -178,7 +178,7 @@ pub fn fiobjectify(
}, },
.Struct => |S| { .Struct => |S| {
// create a new fio hashmap // create a new fio hashmap
var m = fio.fiobj_hash_new(); const m = fio.fiobj_hash_new();
// std.debug.print("new struct\n", .{}); // std.debug.print("new struct\n", .{});
inline for (S.fields) |Field| { inline for (S.fields) |Field| {
// don't include void fields // don't include void fields
@ -215,7 +215,7 @@ pub fn fiobjectify(
return fio.fiobj_str_new(util.toCharPtr(value), value.len); return fio.fiobj_str_new(util.toCharPtr(value), value.len);
} }
var arr = fio.fiobj_ary_new2(value.len); const arr = fio.fiobj_ary_new2(value.len);
for (value) |x| { for (value) |x| {
const v = fiobjectify(x); const v = fiobjectify(x);
fio.fiobj_ary_push(arr, v); fio.fiobj_ary_push(arr, v);

View file

@ -43,7 +43,7 @@ pub fn Handler(comptime ContextType: type) type {
/// This function will end the HTTP stage of the connection and attempt to "upgrade" to a WebSockets connection. /// This function will end the HTTP stage of the connection and attempt to "upgrade" to a WebSockets connection.
pub fn upgrade(h: [*c]fio.http_s, settings: *WebSocketSettings) WebSocketError!void { pub fn upgrade(h: [*c]fio.http_s, settings: *WebSocketSettings) WebSocketError!void {
var fio_settings: fio.websocket_settings_s = .{ const fio_settings: fio.websocket_settings_s = .{
.on_message = internal_on_message, .on_message = internal_on_message,
.on_open = internal_on_open, .on_open = internal_on_open,
.on_ready = internal_on_ready, .on_ready = internal_on_ready,
@ -57,8 +57,8 @@ pub fn Handler(comptime ContextType: type) type {
} }
fn internal_on_message(handle: WsHandle, msg: fio.fio_str_info_s, is_text: u8) callconv(.C) void { fn internal_on_message(handle: WsHandle, msg: fio.fio_str_info_s, is_text: u8) callconv(.C) void {
var user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle)))); const user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle))));
var message = msg.data[0..msg.len]; const message = msg.data[0..msg.len];
if (user_provided_settings) |settings| { if (user_provided_settings) |settings| {
if (settings.on_message) |on_message| { if (settings.on_message) |on_message| {
on_message(settings.context, handle, message, is_text == 1); on_message(settings.context, handle, message, is_text == 1);
@ -67,7 +67,7 @@ pub fn Handler(comptime ContextType: type) type {
} }
fn internal_on_open(handle: WsHandle) callconv(.C) void { fn internal_on_open(handle: WsHandle) callconv(.C) void {
var user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle)))); const user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle))));
if (user_provided_settings) |settings| { if (user_provided_settings) |settings| {
if (settings.on_open) |on_open| { if (settings.on_open) |on_open| {
on_open(settings.context, handle); on_open(settings.context, handle);
@ -76,7 +76,7 @@ pub fn Handler(comptime ContextType: type) type {
} }
fn internal_on_ready(handle: WsHandle) callconv(.C) void { fn internal_on_ready(handle: WsHandle) callconv(.C) void {
var user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle)))); const user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle))));
if (user_provided_settings) |settings| { if (user_provided_settings) |settings| {
if (settings.on_ready) |on_ready| { if (settings.on_ready) |on_ready| {
on_ready(settings.context, handle); on_ready(settings.context, handle);
@ -85,7 +85,7 @@ pub fn Handler(comptime ContextType: type) type {
} }
fn internal_on_shutdown(handle: WsHandle) callconv(.C) void { fn internal_on_shutdown(handle: WsHandle) callconv(.C) void {
var user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle)))); const user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(fio.websocket_udata_get(handle))));
if (user_provided_settings) |settings| { if (user_provided_settings) |settings| {
if (settings.on_shutdown) |on_shutdown| { if (settings.on_shutdown) |on_shutdown| {
on_shutdown(settings.context, handle); on_shutdown(settings.context, handle);
@ -94,7 +94,7 @@ pub fn Handler(comptime ContextType: type) type {
} }
fn internal_on_close(uuid: isize, udata: ?*anyopaque) callconv(.C) void { fn internal_on_close(uuid: isize, udata: ?*anyopaque) callconv(.C) void {
var user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(udata))); const user_provided_settings: ?*WebSocketSettings = @as(?*WebSocketSettings, @ptrCast(@alignCast(udata)));
if (user_provided_settings) |settings| { if (user_provided_settings) |settings| {
if (settings.on_close) |on_close| { if (settings.on_close) |on_close| {
on_close(settings.context, uuid); on_close(settings.context, uuid);
@ -170,7 +170,7 @@ pub fn Handler(comptime ContextType: type) type {
/// we need it to look up the ziggified callbacks. /// we need it to look up the ziggified callbacks.
pub inline fn subscribe(handle: WsHandle, args: *SubscribeArgs) WebSocketError!usize { pub inline fn subscribe(handle: WsHandle, args: *SubscribeArgs) WebSocketError!usize {
if (handle == null) return error.SubscribeError; if (handle == null) return error.SubscribeError;
var fio_args: fio.websocket_subscribe_s_zigcompat = .{ const fio_args: fio.websocket_subscribe_s_zigcompat = .{
.ws = handle.?, .ws = handle.?,
.channel = util.str2fio(args.channel), .channel = util.str2fio(args.channel),
.on_message = if (args.on_message) |_| internal_subscription_on_message else null, .on_message = if (args.on_message) |_| internal_subscription_on_message else null,

View file

@ -142,8 +142,8 @@ pub const SimpleRequest = struct {
var writer = string.writer(); var writer = string.writer();
try writer.print("ERROR: {any}\n\n", .{err}); try writer.print("ERROR: {any}\n\n", .{err});
var debugInfo = try std.debug.getSelfDebugInfo(); const debugInfo = try std.debug.getSelfDebugInfo();
var ttyConfig: std.io.tty.Config = .no_color; const ttyConfig: std.io.tty.Config = .no_color;
try std.debug.writeCurrentStackTrace(writer, debugInfo, ttyConfig, null); try std.debug.writeCurrentStackTrace(writer, debugInfo, ttyConfig, null);
try self.sendBody(string.items); try self.sendBody(string.items);
} }
@ -297,7 +297,7 @@ pub const SimpleRequest = struct {
// Set a response cookie // Set a response cookie
pub fn setCookie(self: *const Self, args: CookieArgs) HttpError!void { pub fn setCookie(self: *const Self, args: CookieArgs) HttpError!void {
var c: fio.http_cookie_args_s = .{ const c: fio.http_cookie_args_s = .{
.name = util.toCharPtr(args.name), .name = util.toCharPtr(args.name),
.name_len = @as(isize, @intCast(args.name.len)), .name_len = @as(isize, @intCast(args.name.len)),
.value = util.toCharPtr(args.value), .value = util.toCharPtr(args.value),
@ -414,7 +414,7 @@ pub const SimpleRequest = struct {
fn _each_nextParamStr(fiobj_value: fio.FIOBJ, context: ?*anyopaque) callconv(.C) c_int { fn _each_nextParamStr(fiobj_value: fio.FIOBJ, context: ?*anyopaque) callconv(.C) c_int {
const ctx: *_parametersToOwnedStrSliceContext = @as(*_parametersToOwnedStrSliceContext, @ptrCast(@alignCast(context))); const ctx: *_parametersToOwnedStrSliceContext = @as(*_parametersToOwnedStrSliceContext, @ptrCast(@alignCast(context)));
// this is thread-safe, guaranteed by fio // this is thread-safe, guaranteed by fio
var fiobj_key: fio.FIOBJ = fio.fiobj_hash_key_in_loop(); const fiobj_key: fio.FIOBJ = fio.fiobj_hash_key_in_loop();
ctx.params.append(.{ ctx.params.append(.{
.key = util.fio2strAllocOrNot(fiobj_key, ctx.allocator, ctx.always_alloc) catch |err| { .key = util.fio2strAllocOrNot(fiobj_key, ctx.allocator, ctx.always_alloc) catch |err| {
ctx.last_error = err; ctx.last_error = err;
@ -467,7 +467,7 @@ pub const SimpleRequest = struct {
fn _each_nextParam(fiobj_value: fio.FIOBJ, context: ?*anyopaque) callconv(.C) c_int { fn _each_nextParam(fiobj_value: fio.FIOBJ, context: ?*anyopaque) callconv(.C) c_int {
const ctx: *_parametersToOwnedSliceContext = @as(*_parametersToOwnedSliceContext, @ptrCast(@alignCast(context))); const ctx: *_parametersToOwnedSliceContext = @as(*_parametersToOwnedSliceContext, @ptrCast(@alignCast(context)));
// this is thread-safe, guaranteed by fio // this is thread-safe, guaranteed by fio
var fiobj_key: fio.FIOBJ = fio.fiobj_hash_key_in_loop(); const fiobj_key: fio.FIOBJ = fio.fiobj_hash_key_in_loop();
ctx.params.append(.{ ctx.params.append(.{
.key = util.fio2strAllocOrNot(fiobj_key, ctx.allocator, ctx.dupe_strings) catch |err| { .key = util.fio2strAllocOrNot(fiobj_key, ctx.allocator, ctx.dupe_strings) catch |err| {
ctx.last_error = err; ctx.last_error = err;
@ -845,7 +845,7 @@ pub const SimpleHttpListener = struct {
._is_finished_request_global = false, ._is_finished_request_global = false,
._user_context = undefined, ._user_context = undefined,
}; };
var zigtarget: []u8 = target[0..target_len]; const zigtarget: []u8 = target[0..target_len];
req._is_finished = &req._is_finished_request_global; req._is_finished = &req._is_finished_request_global;
var user_context: SimpleRequest.UserContext = .{}; var user_context: SimpleRequest.UserContext = .{};
@ -871,7 +871,7 @@ pub const SimpleHttpListener = struct {
pfolder = pf.ptr; pfolder = pf.ptr;
} }
var x: fio.http_settings_s = .{ const x: fio.http_settings_s = .{
.on_request = if (self.settings.on_request) |_| Self.theOneAndOnlyRequestCallBack else null, .on_request = if (self.settings.on_request) |_| Self.theOneAndOnlyRequestCallBack else null,
.on_upgrade = if (self.settings.on_upgrade) |_| Self.theOneAndOnlyUpgradeCallBack else null, .on_upgrade = if (self.settings.on_upgrade) |_| Self.theOneAndOnlyUpgradeCallBack else null,
.on_response = if (self.settings.on_response) |_| Self.theOneAndOnlyResponseCallBack else null, .on_response = if (self.settings.on_response) |_| Self.theOneAndOnlyResponseCallBack else null,
@ -905,7 +905,7 @@ pub const SimpleHttpListener = struct {
// const result = try bufPrint(buf, fmt ++ "\x00", args); // const result = try bufPrint(buf, fmt ++ "\x00", args);
// return result[0 .. result.len - 1 :0]; // return result[0 .. result.len - 1 :0];
// } // }
var ret = fio.http_listen(printed_port.ptr, self.settings.interface, x); const ret = fio.http_listen(printed_port.ptr, self.settings.interface, x);
if (ret == -1) { if (ret == -1) {
return error.ListenError; return error.ListenError;
} }
@ -950,7 +950,7 @@ pub fn listen(port: [*c]const u8, interface: [*c]const u8, settings: ListenSetti
pfolder_len = pf.len; pfolder_len = pf.len;
pfolder = pf.ptr; pfolder = pf.ptr;
} }
var x: fio.http_settings_s = .{ const x: fio.http_settings_s = .{
.on_request = settings.on_request, .on_request = settings.on_request,
.on_upgrade = settings.on_upgrade, .on_upgrade = settings.on_upgrade,
.on_response = settings.on_response, .on_response = settings.on_response,

View file

@ -182,7 +182,7 @@ fn sendToDiscordPart(allocator: std.mem.Allocator, url: []const u8, message_json
fn sendToDiscord(allocator: std.mem.Allocator, url: []const u8, message: []const u8) !void { fn sendToDiscord(allocator: std.mem.Allocator, url: []const u8, message: []const u8) !void {
// json payload // json payload
// max size: 100kB // max size: 100kB
var buf: []u8 = try allocator.alloc(u8, 100 * 1024); const buf: []u8 = try allocator.alloc(u8, 100 * 1024);
defer allocator.free(buf); defer allocator.free(buf);
var fba = std.heap.FixedBufferAllocator.init(buf); var fba = std.heap.FixedBufferAllocator.init(buf);
var string = std.ArrayList(u8).init(fba.allocator()); var string = std.ArrayList(u8).init(fba.allocator());
@ -399,7 +399,7 @@ fn command_update_readme(allocator: std.mem.Allocator, tag: []const u8) !void {
// we need to put the \n back in. // we need to put the \n back in.
// TODO: change this by using some "search" iterator that just // TODO: change this by using some "search" iterator that just
// returns indices etc // returns indices etc
var output_line = try std.fmt.allocPrint(allocator, "{s}\n", .{line}); const output_line = try std.fmt.allocPrint(allocator, "{s}\n", .{line});
defer allocator.free(output_line); defer allocator.free(output_line);
_ = try writer.write(output_line); _ = try writer.write(output_line);
} }

View file

@ -4,7 +4,7 @@ pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{ var gpa = std.heap.GeneralPurposeAllocator(.{
.thread_safe = true, .thread_safe = true,
}){}; }){};
var allocator = gpa.allocator(); const allocator = gpa.allocator();
var server = std.http.Server.init(allocator, .{ var server = std.http.Server.init(allocator, .{
.reuse_address = true, .reuse_address = true,