diff options
author | 2021-10-13 00:27:35 -0700 | |
---|---|---|
committer | 2021-10-13 00:27:35 -0700 | |
commit | 88a5e2d34d25c3ac3d13a432bbd85daa075c4bcb (patch) | |
tree | 53e40562b7bbe006304daa341a5ce3dfbdeca81e /src/deps | |
parent | afc346d6f125a41fb6ff823d04d3ffd85ab36dcd (diff) | |
download | bun-88a5e2d34d25c3ac3d13a432bbd85daa075c4bcb.tar.gz bun-88a5e2d34d25c3ac3d13a432bbd85daa075c4bcb.tar.zst bun-88a5e2d34d25c3ac3d13a432bbd85daa075c4bcb.zip |
Add TLS 1.3 support, improve fetch() HTTPS performance
Diffstat (limited to 'src/deps')
-rw-r--r-- | src/deps/picohttp.zig | 17 | ||||
-rw-r--r-- | src/deps/picohttpparser.zig | 21 | ||||
m--------- | src/deps/s2n-tls | 0 | ||||
-rw-r--r-- | src/deps/zig-clap/clap.zig | 2 |
4 files changed, 36 insertions, 4 deletions
diff --git a/src/deps/picohttp.zig b/src/deps/picohttp.zig index cdd26b710..374793f38 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 }); + } } } diff --git a/src/deps/picohttpparser.zig b/src/deps/picohttpparser.zig new file mode 100644 index 000000000..d83d7cd31 --- /dev/null +++ b/src/deps/picohttpparser.zig @@ -0,0 +1,21 @@ +pub usingnamespace @import("std").zig.c_builtins; + +pub const struct_phr_header = extern struct { + name: [*c]const u8, + name_len: usize, + value: [*c]const u8, + value_len: usize, +}; +pub extern fn phr_parse_request(buf: [*c]const u8, len: usize, method: [*c][*c]const u8, method_len: [*c]usize, path: [*c][*c]const u8, path_len: [*c]usize, minor_version: [*c]c_int, headers: [*c]struct_phr_header, num_headers: [*c]usize, last_len: usize) c_int; +pub extern fn phr_parse_response(_buf: [*c]const u8, len: usize, minor_version: [*c]c_int, status: [*c]c_int, msg: [*c][*c]const u8, msg_len: [*c]usize, headers: [*c]struct_phr_header, num_headers: [*c]usize, last_len: usize) c_int; +pub extern fn phr_parse_headers(buf: [*c]const u8, len: usize, headers: [*c]struct_phr_header, num_headers: [*c]usize, last_len: usize) c_int; +pub const struct_phr_chunked_decoder = extern struct { + bytes_left_in_chunk: usize, + consume_trailer: u8, + _hex_count: u8, + _state: u8, +}; +pub extern fn phr_decode_chunked(decoder: [*c]struct_phr_chunked_decoder, buf: [*c]u8, bufsz: [*c]usize) isize; +pub extern fn phr_decode_chunked_is_in_data(decoder: [*c]struct_phr_chunked_decoder) c_int; +pub const phr_header = struct_phr_header; +pub const phr_chunked_decoder = struct_phr_chunked_decoder; diff --git a/src/deps/s2n-tls b/src/deps/s2n-tls -Subproject 0dd0b56bbb8daac39b8bf1b0884dcc7d5951c95 +Subproject 4c31c6e790f14b299bb16de550a2132666e69a6 diff --git a/src/deps/zig-clap/clap.zig b/src/deps/zig-clap/clap.zig index e6bf56f08..907ece37f 100644 --- a/src/deps/zig-clap/clap.zig +++ b/src/deps/zig-clap/clap.zig @@ -63,6 +63,8 @@ pub fn Param(comptime Id: type) type { /// Takes a string and parses it to a Param(Help). /// This is the reverse of 'help' but for at single parameter only. pub fn parseParam(line: []const u8) !Param(Help) { + @setEvalBranchQuota(9999); + var found_comma = false; var it = mem.tokenize(u8, line, " \t"); var param_str = it.next() orelse return error.NoParamFound; |