add headerIterator to Http Response

This commit is contained in:
Muki Kiboigo
2026-03-18 11:34:44 -07:00
parent 9315e8bcb8
commit 6dad03ea75
3 changed files with 14 additions and 12 deletions

View File

@@ -1033,7 +1033,11 @@ pub const Response = struct {
};
}
// TODO: Headers Iterator.
pub fn headerIterator(self: Response) HeaderIterator {
return switch (self.inner) {
.live => |live| live.responseHeaderIterator(),
};
}
pub fn abort(self: Response, err: anyerror) void {
switch (self.inner) {

View File

@@ -181,11 +181,10 @@ fn httpHeaderDoneCallback(response: HttpClient.Response) !bool {
res._type = .basic;
}
// TODO: Header Iterator
// var it = transfer.responseHeaderIterator();
// while (it.next()) |hdr| {
// try res._headers.append(hdr.name, hdr.value, self._page);
// }
var it = response.headerIterator();
while (it.next()) |hdr| {
try res._headers.append(hdr.name, hdr.value, self._page);
}
return true;
}

View File

@@ -418,12 +418,11 @@ fn httpHeaderDoneCallback(response: HttpClient.Response) !bool {
};
}
// TODO: Header Iterator
// var it = transfer.responseHeaderIterator();
// while (it.next()) |hdr| {
// const joined = try std.fmt.allocPrint(self._arena, "{s}: {s}", .{ hdr.name, hdr.value });
// try self._response_headers.append(self._arena, joined);
// }
var it = response.headerIterator();
while (it.next()) |hdr| {
const joined = try std.fmt.allocPrint(self._arena, "{s}: {s}", .{ hdr.name, hdr.value });
try self._response_headers.append(self._arena, joined);
}
self._response_status = response.status().?;
if (response.contentLength()) |cl| {