Skip to content

Commit

Permalink
wip: http 请求异常时打印具体日志信息
Browse files Browse the repository at this point in the history
  • Loading branch information
renxia committed Jul 6, 2023
1 parent 7e29ae0 commit e8839b0
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 2 deletions.
4 changes: 4 additions & 0 deletions src/lib/parseM3u8.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ export async function parseM3U8(content: string, url = process.cwd(), cacheDir =
}
}

if (!content) {
logger.error('获取播放列表为空!', url);
}

logger.debug('starting parsing m3u8 file:', url);

let parser = new Parser();
Expand Down
3 changes: 2 additions & 1 deletion src/lib/ts-download.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export async function tsDownload(info: TsItemInfo, cryptoInfo: M3u8Crypto) {

logger.warn('[TS-Download][failed]', r.response.statusCode, info.uri);
} catch (e) {
logger.error('[TS-Download][error]', (e as Error).message || e);
logger.error('[TS-Download][error]', (e as Error)?.message || e || 'unkown');
}

return false;
Expand All @@ -39,6 +39,7 @@ function aesDecrypt(data: Buffer, cryptoInfo: M3u8Crypto) {

if (!isMainThread && parentPort) {
parentPort.on('message', (data: WorkerTaskInfo) => {
if (data.options.debug) logger.updateOptions({ levelType: 'debug' });
if (data.options?.headers) request.setHeaders(data.options.headers);
tsDownload(data.info, data.crypto).then(success => {
parentPort.postMessage({ success, info: data.info });
Expand Down
10 changes: 9 additions & 1 deletion src/lib/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,15 @@ export const getRetry = <T = string>(url: string, retries = 3) =>
() => request.get<T>(url, null, {}, { rejectUnauthorized: false }),
1000,
retries,
r => r.response.statusCode === 200
r => {
if (r.response.statusCode !== 200) {
console.log();
logger.warn(`[retry][${url}][${r.response.statusCode}]`, r.response.statusMessage || r.data);
// throw Error(`[${r.response.statusCode}]${r.response.statusMessage || r.data}`);
}

return r.response.statusCode === 200;
}
);

export const logger = NLogger.getLogger('[M3U8-DL]', { color });
Expand Down
1 change: 1 addition & 0 deletions src/lib/worker_pool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ export class WorkerPool<T = unknown, R = unknown> extends EventEmitter {
});

worker.on('error', err => {
console.error('worker error', err);
// 如果发生未捕获的异常:调用传递给 `runTask` 并出现错误的回调。
const r = this.workerTaskInfo.get(worker);
if (r) {
Expand Down

0 comments on commit e8839b0

Please sign in to comment.