Skip to content

Commit

Permalink
Merge pull request HuolalaTech#89 from HuolalaTech/fix/header-circual…
Browse files Browse the repository at this point in the history
…-reference

fix: header value circual reference
  • Loading branch information
wqcstrong authored May 29, 2024
2 parents 0603063 + fe1654a commit f6030fa
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 15 deletions.
13 changes: 5 additions & 8 deletions packages/mp-base/src/plugins/network/proxy/request.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
import {
getRandomId,
isObjectLike,
isPlainObject,
psLog,
toStringTag,
} from 'base/src/index';
import { getRandomId, isPlainObject, psLog, toStringTag } from 'base/src/index';
import {
ReqReadyState,
resolveUrlInfo,
Expand Down Expand Up @@ -65,7 +59,10 @@ export default class MPWeixinRequestProxy extends MPNetworkProxyBase {

// 小程序不会有其他格式,不用兼容
if (isPlainObject(params.header)) {
req.requestHeader = Object.entries(params.header);
req.requestHeader = Object.entries(params.header).map(([k, v]) => [
String(k),
String(v),
]);
}

if (req.method !== 'GET') {
Expand Down
20 changes: 14 additions & 6 deletions packages/page-spy-browser/src/plugins/network/proxy/fetch-proxy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,20 @@ export default class FetchProxy extends WebNetworkProxyBase {
req.withCredentials = true;
}

if (isHeaders(requestHeader)) {
req.requestHeader = [...requestHeader.entries()];
} else if (isObjectLike(requestHeader)) {
req.requestHeader = Object.entries(requestHeader);
} else {
req.requestHeader = requestHeader;
if (requestHeader) {
if (isHeaders(requestHeader)) {
req.requestHeader = [...requestHeader.entries()];
} else if (isObjectLike(requestHeader)) {
req.requestHeader = Object.entries(requestHeader).map(([k, v]) => [
String(k),
String(v),
]);
} else {
req.requestHeader = requestHeader.map(([k, v]) => [
String(k),
String(v),
]);
}
}

if (req.method !== 'GET') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ class XhrProxy extends WebNetworkProxyBase {
if (!req.requestHeader) {
req.requestHeader = [];
}
req.requestHeader.push([key, value]);
req.requestHeader.push([String(key), String(value)]);
} /* c8 ignore start */ else {
psLog.warn(
"The request object is not found on XMLHttpRequest's setRequestHeader event",
Expand Down

0 comments on commit f6030fa

Please sign in to comment.