]>
Commit | Line | Data |
---|---|---|
405c83f9 C |
1 | import { map } from 'bluebird' |
2 | import { logger } from '@server/helpers/logger' | |
3 | import { doRequest, PeerTubeRequestOptions } from '@server/helpers/requests' | |
4 | import { BROADCAST_CONCURRENCY } from '@server/initializers/constants' | |
5 | ||
6 | async function httpBroadcast (payload: { | |
7 | uris: string[] | |
8 | requestOptions: PeerTubeRequestOptions | |
9 | }) { | |
10 | const { uris, requestOptions } = payload | |
11 | ||
12 | const badUrls: string[] = [] | |
13 | const goodUrls: string[] = [] | |
14 | ||
15 | await map(uris, async uri => { | |
16 | try { | |
17 | await doRequest(uri, requestOptions) | |
18 | goodUrls.push(uri) | |
19 | } catch (err) { | |
20 | logger.debug('HTTP broadcast to %s failed.', uri, { err }) | |
21 | badUrls.push(uri) | |
22 | } | |
23 | }, { concurrency: BROADCAST_CONCURRENCY }) | |
24 | ||
25 | return { goodUrls, badUrls } | |
26 | } | |
27 | ||
28 | module.exports = httpBroadcast | |
29 | ||
30 | export { | |
31 | httpBroadcast | |
32 | } |