@jayfong/x-request 2.84.0 → 2.85.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
@@ -173,11 +173,16 @@ class XRequest {
173
173
  if (responseType === 'stream') {
174
174
  return res;
175
175
  }
176
- return res.then(res => this.afterResponse(options, responseType, {
177
- status: res.statusCode,
178
- headers: res.headers,
179
- data: res.body
180
- }));
176
+ return res.then(res => {
177
+ var _res$redirectUrls;
178
+ return this.afterResponse(options, responseType, {
179
+ status: res.statusCode,
180
+ headers: res.headers,
181
+ data: res.body,
182
+ initialUrl: res.requestUrl,
183
+ finalUrl: (_res$redirectUrls = res.redirectUrls) != null && _res$redirectUrls.length ? res.redirectUrls[res.redirectUrls.length - 1] : res.requestUrl
184
+ });
185
+ });
181
186
  }
182
187
  static post(options, responseType) {
183
188
  const gotOptions = this.getGotOptions(options, responseType || 'buffer');
@@ -203,11 +208,16 @@ class XRequest {
203
208
  if (responseType === 'stream') {
204
209
  return res;
205
210
  }
206
- return res.then(res => this.afterResponse(options, responseType, {
207
- status: res.statusCode,
208
- headers: res.headers,
209
- data: res.body
210
- }));
211
+ return res.then(res => {
212
+ var _res$redirectUrls2;
213
+ return this.afterResponse(options, responseType, {
214
+ status: res.statusCode,
215
+ headers: res.headers,
216
+ data: res.body,
217
+ initialUrl: res.requestUrl,
218
+ finalUrl: (_res$redirectUrls2 = res.redirectUrls) != null && _res$redirectUrls2.length ? res.redirectUrls[res.redirectUrls.length - 1] : res.requestUrl
219
+ });
220
+ });
211
221
  }
212
222
  static async getText(options) {
213
223
  return this.get(options, 'text');
package/lib/index.d.ts CHANGED
@@ -102,6 +102,8 @@ export interface XRequestResponse<T> {
102
102
  status: number;
103
103
  headers: Record<string, any>;
104
104
  data: T;
105
+ initialUrl: string;
106
+ finalUrl: string;
105
107
  }
106
108
  export interface XRequestGetOptions extends XRequestOptions {
107
109
  method?: string;
package/lib/index.js CHANGED
@@ -164,11 +164,16 @@ export class XRequest {
164
164
  if (responseType === 'stream') {
165
165
  return res;
166
166
  }
167
- return res.then(res => this.afterResponse(options, responseType, {
168
- status: res.statusCode,
169
- headers: res.headers,
170
- data: res.body
171
- }));
167
+ return res.then(res => {
168
+ var _res$redirectUrls;
169
+ return this.afterResponse(options, responseType, {
170
+ status: res.statusCode,
171
+ headers: res.headers,
172
+ data: res.body,
173
+ initialUrl: res.requestUrl,
174
+ finalUrl: (_res$redirectUrls = res.redirectUrls) != null && _res$redirectUrls.length ? res.redirectUrls[res.redirectUrls.length - 1] : res.requestUrl
175
+ });
176
+ });
172
177
  }
173
178
  static post(options, responseType) {
174
179
  const gotOptions = this.getGotOptions(options, responseType || 'buffer');
@@ -194,11 +199,16 @@ export class XRequest {
194
199
  if (responseType === 'stream') {
195
200
  return res;
196
201
  }
197
- return res.then(res => this.afterResponse(options, responseType, {
198
- status: res.statusCode,
199
- headers: res.headers,
200
- data: res.body
201
- }));
202
+ return res.then(res => {
203
+ var _res$redirectUrls2;
204
+ return this.afterResponse(options, responseType, {
205
+ status: res.statusCode,
206
+ headers: res.headers,
207
+ data: res.body,
208
+ initialUrl: res.requestUrl,
209
+ finalUrl: (_res$redirectUrls2 = res.redirectUrls) != null && _res$redirectUrls2.length ? res.redirectUrls[res.redirectUrls.length - 1] : res.requestUrl
210
+ });
211
+ });
202
212
  }
203
213
  static async getText(options) {
204
214
  return this.get(options, 'text');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jayfong/x-request",
3
- "version": "2.84.0",
3
+ "version": "2.85.1",
4
4
  "license": "ISC",
5
5
  "sideEffects": false,
6
6
  "main": "lib/_cjs/index.js",