mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 10:49:28 +02:00
Try to have more robust live tests
This commit is contained in:
parent
9d1e41e8bb
commit
5170f492b9
5 changed files with 67 additions and 25 deletions
|
@ -44,31 +44,71 @@ export class StreamingPlaylistsCommand extends AbstractCommand {
|
|||
}
|
||||
}
|
||||
|
||||
getFragmentedSegment (options: OverrideCommandOptions & {
|
||||
async getFragmentedSegment (options: OverrideCommandOptions & {
|
||||
url: string
|
||||
range?: string
|
||||
}) {
|
||||
return unwrapBody<Buffer>(this.getRawRequest({
|
||||
...options,
|
||||
|
||||
url: options.url,
|
||||
range: options.range,
|
||||
implicitToken: false,
|
||||
responseType: 'application/octet-stream',
|
||||
defaultExpectedStatus: HttpStatusCode.OK_200
|
||||
}))
|
||||
withRetry?: boolean // default false
|
||||
currentRetry?: number
|
||||
}) {
|
||||
const { withRetry, currentRetry = 1 } = options
|
||||
|
||||
try {
|
||||
const result = await unwrapBody<Buffer>(this.getRawRequest({
|
||||
...options,
|
||||
|
||||
url: options.url,
|
||||
range: options.range,
|
||||
implicitToken: false,
|
||||
responseType: 'application/octet-stream',
|
||||
defaultExpectedStatus: HttpStatusCode.OK_200
|
||||
}))
|
||||
|
||||
return result
|
||||
} catch (err) {
|
||||
if (!withRetry || currentRetry > 5) throw err
|
||||
|
||||
await wait(100)
|
||||
|
||||
return this.getFragmentedSegment({
|
||||
...options,
|
||||
|
||||
withRetry,
|
||||
currentRetry: currentRetry + 1
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
getSegmentSha256 (options: OverrideCommandOptions & {
|
||||
async getSegmentSha256 (options: OverrideCommandOptions & {
|
||||
url: string
|
||||
}) {
|
||||
return unwrapBodyOrDecodeToJSON<{ [ id: string ]: string }>(this.getRawRequest({
|
||||
...options,
|
||||
|
||||
url: options.url,
|
||||
contentType: 'application/json',
|
||||
implicitToken: false,
|
||||
defaultExpectedStatus: HttpStatusCode.OK_200
|
||||
}))
|
||||
withRetry?: boolean // default false
|
||||
currentRetry?: number
|
||||
}) {
|
||||
const { withRetry, currentRetry = 1 } = options
|
||||
|
||||
try {
|
||||
const result = await unwrapBodyOrDecodeToJSON<{ [ id: string ]: string }>(this.getRawRequest({
|
||||
...options,
|
||||
|
||||
url: options.url,
|
||||
contentType: 'application/json',
|
||||
implicitToken: false,
|
||||
defaultExpectedStatus: HttpStatusCode.OK_200
|
||||
}))
|
||||
|
||||
return result
|
||||
} catch (err) {
|
||||
if (!withRetry || currentRetry > 5) throw err
|
||||
|
||||
await wait(100)
|
||||
|
||||
return this.getSegmentSha256({
|
||||
...options,
|
||||
|
||||
withRetry,
|
||||
currentRetry: currentRetry + 1
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue