diff options
Diffstat (limited to 'src/deps/picohttp.zig')
-rw-r--r-- | src/deps/picohttp.zig | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/deps/picohttp.zig b/src/deps/picohttp.zig index cdd26b710..43f216cf4 100644 --- a/src/deps/picohttp.zig +++ b/src/deps/picohttp.zig @@ -1,7 +1,8 @@ const std = @import("std"); -const c = @cImport(@cInclude("picohttpparser.h")); +const c = @import("picohttpparser.zig"); const ExactSizeMatcher = @import("../exact_size_matcher.zig").ExactSizeMatcher; const Match = ExactSizeMatcher(2); +const Output = @import("../global.zig").Output; const fmt = std.fmt; @@ -16,10 +17,18 @@ pub const Header = struct { } pub fn format(self: Header, comptime layout: []const u8, opts: fmt.FormatOptions, writer: anytype) !void { - if (self.isMultiline()) { - try fmt.format(writer, "{s}", .{self.value}); + if (Output.enable_ansi_colors) { + if (self.isMultiline()) { + try fmt.format(writer, comptime Output.prettyFmt("<r><cyan>{s}", true), .{self.value}); + } else { + try fmt.format(writer, comptime Output.prettyFmt("<r><cyan>{s}<r><d>: <r>{s}", true), .{ self.name, self.value }); + } } else { - try fmt.format(writer, "{s}: {s}", .{ self.name, self.value }); + if (self.isMultiline()) { + try fmt.format(writer, comptime Output.prettyFmt("<r><cyan>{s}", false), .{self.value}); + } else { + try fmt.format(writer, comptime Output.prettyFmt("<r><cyan>{s}<r><d>: <r>{s}", false), .{ self.name, self.value }); + } } } @@ -143,7 +152,7 @@ pub const Response = struct { ); return switch (rc) { - -1 => error.BadResponse, + -1 => error.Malformed_HTTP_Response, -2 => brk: { offset.?.* += buf.len; @@ -154,7 +163,7 @@ pub const Response = struct { .status_code = @intCast(usize, status_code), .status = status, .headers = src[0..num_headers], - .bytes_read = bytes_read, + .bytes_read = rc, }, }; } @@ -229,3 +238,5 @@ test "pico_http: parse headers" { std.debug.print("{}\n", .{header}); } } + +pub usingnamespace c; |