diff --git a/lib/std/http/Client.zig b/lib/std/http/Client.zig index 7abd426a1c31e3ebf2bf487733879287178e563e..bd4e22895a763120b71b6c083fefd84ad0766b6a 100644 --- a/lib/std/http/Client.zig +++ b/lib/std/http/Client.zig @@ -1126,7 +1126,7 @@ pub const Request = struct { /// `redirect_buffer` must outlive accesses to `Request.uri`. If this /// buffer capacity would be exceeded, `error.HttpRedirectLocationOversize` /// is returned instead. This buffer may be empty if no redirects are to be - /// handled. + /// handled. RFC 9110 recommends making this at least 8000 bytes. /// /// If this fails with `error.ReadFailed` then the `Connection.getReadError` /// method of `r.connection` can be used to get more detailed information. @@ -1748,7 +1748,8 @@ pub fn request( } pub const FetchOptions = struct { - /// `null` means it will be heap-allocated. + /// `null` means it will be heap-allocated. RFC 9110 recommends at least + /// 8000 bytes. redirect_buffer: ?[]u8 = null, /// `null` means it will be heap-allocated. decompress_buffer: ?[]u8 = null, diff --git a/src/Package/Fetch.zig b/src/Package/Fetch.zig index 0b8e0c367bd319aafaad2c28ddb39f24494b8ed6..0fc65670ca0faef0b5d56c35ac55cd7fd285a65e 100644 --- a/src/Package/Fetch.zig +++ b/src/Package/Fetch.zig @@ -1193,7 +1193,7 @@ fn initResource(f: *Fetch, uri: std.Uri, resource: *Resource, reader_buffer: []u request.sendBodiless() catch |err| return f.fail(f.location_tok, try eb.printString("HTTP request failed: {t}", .{err})); - var redirect_buffer: [1024]u8 = undefined; + var redirect_buffer: [8000]u8 = undefined; const response = &resource.http_request.response; response.* = request.receiveHead(&redirect_buffer) catch |err| switch (err) { error.ReadFailed => {