mirror of
https://github.com/lightpanda-io/browser.git
synced 2026-03-28 15:40:04 +00:00
fix recv e2e test
This commit is contained in:
@@ -642,6 +642,11 @@ fn makeTransfer(self: *Client, req: Request) !*Transfer {
|
||||
|
||||
fn makeRequest(self: *Client, conn: *http.Connection, transfer: *Transfer) anyerror!void {
|
||||
{
|
||||
// Reset per-response state for retries (auth challenge, queue).
|
||||
const auth = transfer._auth_challenge;
|
||||
transfer.reset();
|
||||
transfer._auth_challenge = auth;
|
||||
|
||||
transfer._conn = conn;
|
||||
errdefer {
|
||||
transfer._conn = null;
|
||||
@@ -726,7 +731,9 @@ fn perform(self: *Client, timeout_ms: c_int) anyerror!PerformStatus {
|
||||
|
||||
fn processOneMessage(self: *Client, msg: http.Handles.MultiMessage, transfer: *Transfer) !bool {
|
||||
// Detect auth challenge from response headers.
|
||||
if (msg.err == null) {
|
||||
// Also check on RecvError: proxy may send 407 with headers before
|
||||
// closing the connection (CONNECT tunnel not yet established).
|
||||
if (msg.err == null or msg.err.? == error.RecvError) {
|
||||
transfer.detectAuthChallenge(&msg.conn);
|
||||
}
|
||||
|
||||
@@ -1127,7 +1134,8 @@ pub const Transfer = struct {
|
||||
}
|
||||
|
||||
pub fn reset(self: *Transfer) void {
|
||||
self._auth_challenge = null;
|
||||
// Note: do NOT reset _auth_challenge here. It is needed by makeRequest
|
||||
// to determine whether to use setProxyCredentials vs setCredentials.
|
||||
self._notified_fail = false;
|
||||
self.response_header = null;
|
||||
self.bytes_received = 0;
|
||||
|
||||
@@ -1027,6 +1027,7 @@ fn pageDoneCallback(ctx: *anyopaque) !void {
|
||||
});
|
||||
|
||||
parser.parse(html);
|
||||
self._parse_state = .complete;
|
||||
self.documentIsComplete();
|
||||
},
|
||||
else => unreachable,
|
||||
|
||||
Reference in New Issue
Block a user