Skip to content

Commit eead31f

Browse files
committed
Merge branch 'release/mv3'
2 parents b20e36e + 93fe904 commit eead31f

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/app/service/service_worker/gm_api.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,7 @@ export default class GMApi {
719719
statusCode: 0,
720720
responseHeader: "",
721721
};
722+
let finalUrl = "";
722723
// 等待response
723724
this.gmXhrHeadersReceived.addListener(
724725
"headersReceived:" + requestId,
@@ -727,6 +728,7 @@ export default class GMApi {
727728
resultParam.responseHeader += header.name + ": " + header.value + "\n";
728729
});
729730
resultParam.statusCode = details.statusCode;
731+
finalUrl = this.cache.get("gmXhrRequest:finalUrl:" + requestId);
730732
this.gmXhrHeadersReceived.removeAllListeners("headersReceived:" + requestId);
731733
}
732734
);
@@ -740,6 +742,10 @@ export default class GMApi {
740742
// 发送到content
741743
// 替换msg.data.responseHeaders
742744
msg.data.responseHeaders = resultParam.responseHeader || msg.data.responseHeaders;
745+
// 替换finalUrl
746+
if (finalUrl) {
747+
msg.data.finalUrl = finalUrl;
748+
}
743749
sender.getConnect().sendMessage(msg);
744750
});
745751
sender.getConnect().onDisconnect(() => {
@@ -1149,6 +1155,8 @@ export default class GMApi {
11491155
rule.action.requestHeaders = rule.action.requestHeaders?.filter(
11501156
(header) => header.header.toLowerCase() !== "cookie"
11511157
);
1158+
// 设置重定向url,获取到实际的请求地址
1159+
this.cache.set("gmXhrRequest:finalUrl:" + requestId, location);
11521160
chrome.declarativeNetRequest.updateSessionRules({
11531161
removeRuleIds: [parseInt(requestId)],
11541162
addRules: [rule],
@@ -1159,6 +1167,7 @@ export default class GMApi {
11591167
// 删除关联与DNR
11601168
this.cache.delete("gmXhrRequest:" + details.requestId);
11611169
this.cache.delete("dnrRule:" + requestId);
1170+
this.cache.delete("gmXhrRequest:finalUrl:" + requestId);
11621171
chrome.declarativeNetRequest.updateSessionRules({
11631172
removeRuleIds: [parseInt(requestId)],
11641173
});

0 commit comments

Comments
 (0)