aboutsummaryrefslogtreecommitdiff
path: root/src/cli
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-16 00:53:03 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-16 00:53:03 -0700
commit0ce709d96abb48c747f5c93033c9a80fe79ee3bc (patch)
treef535a53c23fd95154b36ceab7c38c8e3a0275c89 /src/cli
parentfd808dec524c60ba18c620e27b205828760a6e41 (diff)
downloadbun-0ce709d96abb48c747f5c93033c9a80fe79ee3bc.tar.gz
bun-0ce709d96abb48c747f5c93033c9a80fe79ee3bc.tar.zst
bun-0ce709d96abb48c747f5c93033c9a80fe79ee3bc.zip
Make new HTTP client more stable
Diffstat (limited to 'src/cli')
-rw-r--r--src/cli/create_command.zig30
-rw-r--r--src/cli/test_command.zig6
-rw-r--r--src/cli/upgrade_command.zig6
3 files changed, 26 insertions, 16 deletions
diff --git a/src/cli/create_command.zig b/src/cli/create_command.zig
index ee6266f40..27531e4ad 100644
--- a/src/cli/create_command.zig
+++ b/src/cli/create_command.zig
@@ -1845,8 +1845,6 @@ pub const Example = struct {
var mutable = try ctx.allocator.create(MutableString);
mutable.* = try MutableString.init(ctx.allocator, 8096);
- var request_body = try MutableString.init(ctx.allocator, 0);
-
// ensure very stable memory address
var async_http: *HTTP.AsyncHTTP = ctx.allocator.create(HTTP.AsyncHTTP) catch unreachable;
async_http.* = HTTP.AsyncHTTP.initSync(
@@ -1856,7 +1854,7 @@ pub const Example = struct {
header_entries,
headers_buf,
mutable,
- &request_body,
+ "",
60 * std.time.ns_per_min,
);
async_http.client.progress_node = progress;
@@ -1916,12 +1914,20 @@ pub const Example = struct {
var mutable = try ctx.allocator.create(MutableString);
mutable.* = try MutableString.init(ctx.allocator, 2048);
- var request_body = try MutableString.init(ctx.allocator, 0);
url = URL.parse(try std.fmt.bufPrint(&url_buf, "https://registry.npmjs.org/@bun-examples/{s}/latest", .{name}));
// ensure very stable memory address
var async_http: *HTTP.AsyncHTTP = ctx.allocator.create(HTTP.AsyncHTTP) catch unreachable;
- async_http.* = HTTP.AsyncHTTP.initSync(ctx.allocator, .GET, url, .{}, "", mutable, &request_body, 60 * std.time.ns_per_min);
+ async_http.* = HTTP.AsyncHTTP.initSync(
+ ctx.allocator,
+ .GET,
+ url,
+ .{},
+ "",
+ mutable,
+ "",
+ 60 * std.time.ns_per_min,
+ );
async_http.client.progress_node = progress;
var response = try async_http.sendSync(true);
@@ -1993,7 +1999,16 @@ pub const Example = struct {
mutable.reset();
// ensure very stable memory address
- async_http.* = HTTP.AsyncHTTP.initSync(ctx.allocator, .GET, URL.parse(tarball_url), .{}, "", mutable, &request_body, 60 * std.time.ns_per_min);
+ async_http.* = HTTP.AsyncHTTP.initSync(
+ ctx.allocator,
+ .GET,
+ URL.parse(tarball_url),
+ .{},
+ "",
+ mutable,
+ "",
+ 60 * std.time.ns_per_min,
+ );
async_http.client.progress_node = progress;
refresher.maybeRefresh();
@@ -2018,7 +2033,6 @@ pub const Example = struct {
url = URL.parse(examples_url);
var async_http: *HTTP.AsyncHTTP = ctx.allocator.create(HTTP.AsyncHTTP) catch unreachable;
- var request_body = try MutableString.init(ctx.allocator, 0);
var mutable = try ctx.allocator.create(MutableString);
mutable.* = try MutableString.init(ctx.allocator, 2048);
@@ -2029,7 +2043,7 @@ pub const Example = struct {
.{},
"",
mutable,
- &request_body,
+ "",
60 * std.time.ns_per_min,
);
diff --git a/src/cli/test_command.zig b/src/cli/test_command.zig
index 92691fa05..1f3ea95cb 100644
--- a/src/cli/test_command.zig
+++ b/src/cli/test_command.zig
@@ -36,6 +36,7 @@ var path_buf: [bun.MAX_PATH_BYTES]u8 = undefined;
var path_buf2: [bun.MAX_PATH_BYTES]u8 = undefined;
const PathString = bun.PathString;
const is_bindgen = std.meta.globalOption("bindgen", bool) orelse false;
+const HTTPThread = @import("http").HTTPThread;
const JSC = @import("javascript_core");
const Jest = JSC.Jest;
@@ -296,6 +297,7 @@ pub const TestCommand = struct {
};
JSC.C.JSCInitialize();
NetworkThread.init() catch {};
+ HTTPThread.init() catch {};
var reporter = try ctx.allocator.create(CommandLineReporter);
reporter.* = CommandLineReporter{
.jest = TestRunner{
@@ -443,10 +445,6 @@ pub const TestCommand = struct {
Output.flush();
var promise = try vm.loadEntryPoint(resolution.path_pair.primary.text);
- while (promise.status(vm.global.vm()) == .Pending) {
- vm.tick();
- }
-
switch (promise.status(vm.global.vm())) {
.Rejected => {
var result = promise.result(vm.global.vm());
diff --git a/src/cli/upgrade_command.zig b/src/cli/upgrade_command.zig
index 15881e984..912dbe921 100644
--- a/src/cli/upgrade_command.zig
+++ b/src/cli/upgrade_command.zig
@@ -207,7 +207,6 @@ pub const UpgradeCommand = struct {
}
var metadata_body = try MutableString.init(allocator, 2048);
- var request_body = try MutableString.init(allocator, 0);
// ensure very stable memory address
var async_http: *HTTP.AsyncHTTP = allocator.create(HTTP.AsyncHTTP) catch unreachable;
@@ -218,7 +217,7 @@ pub const UpgradeCommand = struct {
header_entries,
headers_buf,
&metadata_body,
- &request_body,
+ "",
60 * std.time.ns_per_min,
);
if (!silent) async_http.client.progress_node = progress;
@@ -441,7 +440,6 @@ pub const UpgradeCommand = struct {
var async_http = ctx.allocator.create(HTTP.AsyncHTTP) catch unreachable;
var zip_file_buffer = try ctx.allocator.create(MutableString);
zip_file_buffer.* = try MutableString.init(ctx.allocator, @maximum(version.size, 1024));
- var request_buffer = try MutableString.init(ctx.allocator, 0);
async_http.* = HTTP.AsyncHTTP.initSync(
ctx.allocator,
@@ -450,7 +448,7 @@ pub const UpgradeCommand = struct {
.{},
"",
zip_file_buffer,
- &request_buffer,
+ "",
timeout,
);
async_http.client.timeout = timeout;