Skip to content

Commit 414b3bb

Browse files
committed
fix: align types in redirectHandler, sendRequest
1 parent f55b0d3 commit 414b3bb

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

packages/core/src/cookie_utils.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@ export interface ResponseLike {
1414
*/
1515
export function getCookiesFromResponse(response: Response): Cookie[] {
1616
const headers = response.headers;
17-
const cookieHeader = headers.getSetCookie();
17+
const cookieHeaders = headers.getSetCookie();
1818

1919
try {
20-
return Array.isArray(cookieHeader)
21-
? cookieHeader.map((cookie) => Cookie.parse(cookie)!)
22-
: [Cookie.parse(cookieHeader)!];
20+
return cookieHeaders.map((cookie) => Cookie.parse(cookie)!);
2321
} catch (e) {
24-
throw new CookieParseError(cookieHeader);
22+
throw new CookieParseError(cookieHeaders);
2523
}
2624
}
2725

packages/core/src/crawlers/crawler_commons.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ export interface CrawlingContext<Crawler = unknown, UserData extends Dictionary
163163
* },
164164
* ```
165165
*/
166-
sendRequest<Response = string>(overrideOptions?: Partial<OptionsInit>): Promise<GotResponse<Response>>;
166+
sendRequest(overrideOptions?: Partial<OptionsInit>): Promise<Response>;
167167
}
168168

169169
/**

packages/core/src/http_clients/got-scraping-http-client.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,14 @@ export class GotScrapingHttpClient implements BaseHttpClient {
5757
return new Promise(async (resolve, reject) => {
5858
const stream = gotScraping({ ...request, isStream: true });
5959

60-
stream.on('redirect', (updatedOptions: Options, redirectResponse: Response) => {
61-
// TODO - the types here likely don't match
62-
handleRedirect?.(redirectResponse, updatedOptions);
60+
stream.on('redirect', (updatedOptions: Options, redirectResponse: any) => {
61+
const nativeRedirectResponse = new ResponseWithUrl(redirectResponse.rawBody, {
62+
headers: redirectResponse.headers,
63+
status: redirectResponse.statusCode,
64+
statusText: redirectResponse.statusMessage,
65+
url: redirectResponse.url,
66+
});
67+
handleRedirect?.(nativeRedirectResponse, updatedOptions);
6368
});
6469

6570
// We need to end the stream for DELETE requests, otherwise it will hang.

test/core/crawlers/http_crawler.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ test('works with a custom HttpClient', async () => {
410410
requestHandler: async ({ body, sendRequest }) => {
411411
results.push(body as string);
412412

413-
results.push((await sendRequest()).body);
413+
results.push(await (await sendRequest()).text());
414414
},
415415
httpClient: {
416416
async sendRequest(request) {

0 commit comments

Comments
 (0)