mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
chore: throw instead of returning error from fetch (#10451)
This commit is contained in:
parent
fde2f6a77f
commit
9c23a78c32
@ -184,9 +184,7 @@ export class APIRequestContext extends ChannelOwner<channels.APIRequestContextCh
|
||||
failOnStatusCode: options.failOnStatusCode,
|
||||
ignoreHTTPSErrors: options.ignoreHTTPSErrors,
|
||||
});
|
||||
if (result.error)
|
||||
throw new Error(result.error);
|
||||
return new APIResponse(this, result.response!);
|
||||
return new APIResponse(this, result.response);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -179,18 +179,16 @@ export class APIRequestContextDispatcher extends Dispatcher<APIRequestContext, c
|
||||
}
|
||||
|
||||
async fetch(params: channels.APIRequestContextFetchParams, metadata?: channels.Metadata): Promise<channels.APIRequestContextFetchResult> {
|
||||
const { fetchResponse, error } = await this._object.fetch(params);
|
||||
let response;
|
||||
if (fetchResponse) {
|
||||
response = {
|
||||
const fetchResponse = await this._object.fetch(params);
|
||||
return {
|
||||
response: {
|
||||
url: fetchResponse.url,
|
||||
status: fetchResponse.status,
|
||||
statusText: fetchResponse.statusText,
|
||||
headers: fetchResponse.headers,
|
||||
fetchUid: fetchResponse.fetchUid
|
||||
};
|
||||
}
|
||||
return { response, error };
|
||||
};
|
||||
}
|
||||
|
||||
async fetchResponseBody(params: channels.APIRequestContextFetchResponseBodyParams, metadata?: channels.Metadata): Promise<channels.APIRequestContextFetchResponseBodyResult> {
|
||||
|
@ -296,8 +296,7 @@ export type APIRequestContextFetchOptions = {
|
||||
ignoreHTTPSErrors?: boolean,
|
||||
};
|
||||
export type APIRequestContextFetchResult = {
|
||||
response?: APIResponse,
|
||||
error?: string,
|
||||
response: APIResponse,
|
||||
};
|
||||
export type APIRequestContextFetchResponseBodyParams = {
|
||||
fetchUid: string,
|
||||
|
@ -254,8 +254,7 @@ APIRequestContext:
|
||||
failOnStatusCode: boolean?
|
||||
ignoreHTTPSErrors: boolean?
|
||||
returns:
|
||||
response: APIResponse?
|
||||
error: string?
|
||||
response: APIResponse
|
||||
|
||||
fetchResponseBody:
|
||||
parameters:
|
||||
|
@ -85,8 +85,7 @@ export abstract class APIRequestContext extends SdkObject {
|
||||
return uid;
|
||||
}
|
||||
|
||||
async fetch(params: channels.APIRequestContextFetchParams): Promise<{fetchResponse?: Omit<types.APIResponse, 'body'> & { fetchUid: string }, error?: string}> {
|
||||
try {
|
||||
async fetch(params: channels.APIRequestContextFetchParams): Promise<Omit<types.APIResponse, 'body'> & { fetchUid: string }> {
|
||||
const headers: { [name: string]: string } = {};
|
||||
const defaults = this._defaultOptions();
|
||||
headers['user-agent'] = defaults.userAgent;
|
||||
@ -152,11 +151,8 @@ export abstract class APIRequestContext extends SdkObject {
|
||||
const fetchResponse = await this._sendRequest(requestUrl, options, postData);
|
||||
const fetchUid = this._storeResponseBody(fetchResponse.body);
|
||||
if (params.failOnStatusCode && (fetchResponse.status < 200 || fetchResponse.status >= 400))
|
||||
return { error: `${fetchResponse.status} ${fetchResponse.statusText}` };
|
||||
return { fetchResponse: { ...fetchResponse, fetchUid } };
|
||||
} catch (e) {
|
||||
return { error: e instanceof Error ? e.message : String(e) };
|
||||
}
|
||||
throw new Error(`${fetchResponse.status} ${fetchResponse.statusText}`);
|
||||
return { ...fetchResponse, fetchUid };
|
||||
}
|
||||
|
||||
private async _updateCookiesFromHeader(responseUrl: string, setCookie: string[]) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user