|
1 | 1 | import got from 'got'; |
2 | 2 | import logger from './logger.js'; |
3 | | -import types from './config/resource-types.js'; |
4 | | -import { extend, isPlainObject, getTypeByMime } from './utils/index.js'; |
5 | | - |
6 | | -const TEXT_RESOURCE_TYPES = [types.html, types.css]; |
| 3 | +import { extend, isPlainObject } from './utils/index.js'; |
7 | 4 |
|
8 | 5 | function getMimeType (contentType) { |
9 | 6 | return contentType ? contentType.split(';')[0] : null; |
10 | 7 | } |
11 | 8 |
|
12 | | -function defaultResponseHandler ({response, type}) { |
13 | | - if (TEXT_RESOURCE_TYPES.includes(type)) { |
14 | | - return response.body.toString(); |
15 | | - } |
16 | | - return response.body; |
| 9 | +function defaultResponseHandler ({response}) { |
| 10 | + return Promise.resolve(response.body); |
17 | 11 | } |
18 | 12 |
|
19 | 13 | function transformResult (result) { |
20 | 14 | switch (true) { |
21 | | - case typeof result === 'string' || Buffer.isBuffer(result): |
| 15 | + case typeof result === 'string': |
22 | 16 | return { |
23 | 17 | body: result, |
24 | 18 | metadata: null |
@@ -47,19 +41,14 @@ async function getRequest ({url, referer, options = {}, afterResponse = defaultR |
47 | 41 |
|
48 | 42 | const response = await got(requestOptions); |
49 | 43 | logger.debug(`[request] received response for ${response.url}, statusCode ${response.statusCode}`); |
50 | | - |
51 | | - const mimeType = getMimeType(response.headers['content-type']); |
52 | | - const resourceType = getTypeByMime(mimeType); |
53 | | - |
54 | | - const responseHandlerResult = transformResult(await afterResponse({ response, type: resourceType })); |
| 44 | + const responseHandlerResult = transformResult(await afterResponse({response})); |
55 | 45 |
|
56 | 46 | if (!responseHandlerResult) { |
57 | 47 | return null; |
58 | 48 | } |
59 | 49 | return { |
60 | 50 | url: response.url, |
61 | | - type: resourceType, |
62 | | - mimeType, |
| 51 | + mimeType: getMimeType(response.headers['content-type']), |
63 | 52 | body: responseHandlerResult.body, |
64 | 53 | metadata: responseHandlerResult.metadata |
65 | 54 | }; |
|
0 commit comments