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'
6 async function httpBroadcast (payload: {
8 requestOptions: PeerTubeRequestOptions
10 const { uris, requestOptions } = payload
12 const badUrls: string[] = []
13 const goodUrls: string[] = []
15 await map(uris, async uri => {
17 await doRequest(uri, requestOptions)
20 logger.debug('HTTP broadcast to %s failed.', uri, { err })
23 }, { concurrency: BROADCAST_CONCURRENCY })
25 return { goodUrls, badUrls }
28 module.exports = httpBroadcast