aboutsummaryrefslogtreecommitdiff
path: root/src/deps/picohttp.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/deps/picohttp.zig')
-rw-r--r--src/deps/picohttp.zig23
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;