mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-29 23:23:28 +00:00
Merge pull request #504 from lightpanda-io/redirect-url
Some checks failed
e2e-test / zig build release (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
Some checks failed
e2e-test / zig build release (push) Has been cancelled
wpt / web platform tests (push) Has been cancelled
wpt / web platform tests json output (push) Has been cancelled
zig-test / zig build dev (push) Has been cancelled
zig-test / zig test (push) Has been cancelled
e2e-test / puppeteer-perf (push) Has been cancelled
e2e-test / demo-scripts (push) Has been cancelled
wpt / perf-fmt (push) Has been cancelled
zig-test / browser fetch (push) Has been cancelled
zig-test / perf-fmt (push) Has been cancelled
nightly build / build-linux-x86_64 (push) Has been cancelled
nightly build / build-linux-aarch64 (push) Has been cancelled
nightly build / build-macos-aarch64 (push) Has been cancelled
nightly build / build-macos-x86_64 (push) Has been cancelled
browser: update urls after redirection
This commit is contained in:
@@ -351,23 +351,7 @@ pub const Page = struct {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// own the url
|
self.uri = std.Uri.parse(uri) catch try std.Uri.parseAfterScheme("", uri);
|
||||||
self.rawuri = try arena.dupe(u8, uri);
|
|
||||||
self.uri = std.Uri.parse(self.rawuri.?) catch try std.Uri.parseAfterScheme("", self.rawuri.?);
|
|
||||||
|
|
||||||
self.url = try URL.constructor(arena, self.rawuri.?, null);
|
|
||||||
self.location.url = &self.url.?;
|
|
||||||
try self.session.window.replaceLocation(&self.location);
|
|
||||||
|
|
||||||
// prepare origin value.
|
|
||||||
var buf: std.ArrayListUnmanaged(u8) = .{};
|
|
||||||
try self.uri.writeToStream(.{
|
|
||||||
.scheme = true,
|
|
||||||
.authority = true,
|
|
||||||
}, buf.writer(arena));
|
|
||||||
self.origin = buf.items;
|
|
||||||
|
|
||||||
// TODO handle fragment in url.
|
|
||||||
|
|
||||||
self.session.app.telemetry.record(.{ .navigate = .{
|
self.session.app.telemetry.record(.{ .navigate = .{
|
||||||
.proxy = false,
|
.proxy = false,
|
||||||
@@ -380,7 +364,34 @@ pub const Page = struct {
|
|||||||
|
|
||||||
var response = try request.sendSync(.{});
|
var response = try request.sendSync(.{});
|
||||||
const header = response.header;
|
const header = response.header;
|
||||||
try self.session.cookie_jar.populateFromResponse(self.uri, &header);
|
try self.session.cookie_jar.populateFromResponse(request.uri, &header);
|
||||||
|
|
||||||
|
// update uri after eventual redirection
|
||||||
|
var buf: std.ArrayListUnmanaged(u8) = .{};
|
||||||
|
try request.uri.writeToStream(.{
|
||||||
|
.scheme = true,
|
||||||
|
.authentication = true,
|
||||||
|
.authority = true,
|
||||||
|
.path = true,
|
||||||
|
.query = true,
|
||||||
|
.fragment = true,
|
||||||
|
}, buf.writer(arena));
|
||||||
|
self.rawuri = buf.items;
|
||||||
|
|
||||||
|
self.uri = try std.Uri.parse(self.rawuri.?);
|
||||||
|
|
||||||
|
// TODO handle fragment in url.
|
||||||
|
self.url = try URL.constructor(arena, self.rawuri.?, null);
|
||||||
|
self.location.url = &self.url.?;
|
||||||
|
try self.session.window.replaceLocation(&self.location);
|
||||||
|
|
||||||
|
// prepare origin value.
|
||||||
|
buf = .{};
|
||||||
|
try request.uri.writeToStream(.{
|
||||||
|
.scheme = true,
|
||||||
|
.authority = true,
|
||||||
|
}, buf.writer(arena));
|
||||||
|
self.origin = buf.items;
|
||||||
|
|
||||||
log.info("GET {any} {d}", .{ self.uri, header.status });
|
log.info("GET {any} {d}", .{ self.uri, header.status });
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user