@jayfong/x-request 2.73.2 → 2.74.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/_cjs/index.js CHANGED
@@ -126,6 +126,12 @@ class XRequest {
126
126
  if (options.autoReferer && gotOptions.headers.referer == null) {
127
127
  gotOptions.headers.referer = options.url;
128
128
  }
129
+
130
+ // 支持设置相对的 referer
131
+ const referer = gotOptions.headers.referer && String(gotOptions.headers.referer);
132
+ if (referer && !referer.startsWith('http:') && !referer.startsWith('https:')) {
133
+ gotOptions.headers.referer = new URL(String(gotOptions.headers.referer), options.baseUrl || options.url).toString();
134
+ }
129
135
  return gotOptions;
130
136
  }
131
137
  static afterResponse(options, responseType, res) {
package/lib/index.js CHANGED
@@ -117,6 +117,12 @@ export class XRequest {
117
117
  if (options.autoReferer && gotOptions.headers.referer == null) {
118
118
  gotOptions.headers.referer = options.url;
119
119
  }
120
+
121
+ // 支持设置相对的 referer
122
+ const referer = gotOptions.headers.referer && String(gotOptions.headers.referer);
123
+ if (referer && !referer.startsWith('http:') && !referer.startsWith('https:')) {
124
+ gotOptions.headers.referer = new URL(String(gotOptions.headers.referer), options.baseUrl || options.url).toString();
125
+ }
120
126
  return gotOptions;
121
127
  }
122
128
  static afterResponse(options, responseType, res) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-request",
3
- "version": "2.73.2",
3
+ "version": "2.74.1",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",