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 {
|
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;
|
transfer._conn = conn;
|
||||||
errdefer {
|
errdefer {
|
||||||
transfer._conn = null;
|
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 {
|
fn processOneMessage(self: *Client, msg: http.Handles.MultiMessage, transfer: *Transfer) !bool {
|
||||||
// Detect auth challenge from response headers.
|
// 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);
|
transfer.detectAuthChallenge(&msg.conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1127,7 +1134,8 @@ pub const Transfer = struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn reset(self: *Transfer) void {
|
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._notified_fail = false;
|
||||||
self.response_header = null;
|
self.response_header = null;
|
||||||
self.bytes_received = 0;
|
self.bytes_received = 0;
|
||||||
|
|||||||
@@ -1027,6 +1027,7 @@ fn pageDoneCallback(ctx: *anyopaque) !void {
|
|||||||
});
|
});
|
||||||
|
|
||||||
parser.parse(html);
|
parser.parse(html);
|
||||||
|
self._parse_state = .complete;
|
||||||
self.documentIsComplete();
|
self.documentIsComplete();
|
||||||
},
|
},
|
||||||
else => unreachable,
|
else => unreachable,
|
||||||
|
|||||||
Reference in New Issue
Block a user