Skip to content

Latest commit

 

History

History
495 lines (249 loc) · 10.4 KB

File metadata and controls

495 lines (249 loc) · 10.4 KB

downflux


downflux / StreamHttpClient

Class: StreamHttpClient

Defined in: packages/engines/http/StreamingClient.ts:19

HTTP engine for downloadable media streams.

Remarks

Streaming is separate from page fetching because downloads need byte progress, provider-aware CDN fallback, expired URL re-extraction, direct media redirect resolution, and HLS delegation.

Extends

Constructors

Constructor

new StreamHttpClient(hlsClient, strategyRegistry, progressManager): StreamHttpClient

Defined in: packages/engines/http/StreamingClient.ts:25

Parameters

hlsClient

HlsClient

strategyRegistry

StrategyRegistry

progressManager

ProgressManager

Returns

StreamHttpClient

Overrides

BaseHttpClient.constructor

Properties

progressManager

protected readonly progressManager: ProgressManager

Defined in: packages/base/BaseHttpClient.ts:16

Inherited from

BaseHttpClient.progressManager


cookieJar

protected readonly cookieJar: Map<string, Map<string, string>>

Defined in: packages/base/BaseHttpClient.ts:18

Inherited from

BaseHttpClient.cookieJar


CHROME_CIPHERS

protected readonly CHROME_CIPHERS: string

Defined in: packages/base/BaseHttpClient.ts:19

Inherited from

BaseHttpClient.CHROME_CIPHERS


agent

protected readonly agent: Agent

Defined in: packages/base/BaseHttpClient.ts:37

Inherited from

BaseHttpClient.agent


spoofAgent

protected readonly spoofAgent: Agent

Defined in: packages/base/BaseHttpClient.ts:47

Inherited from

BaseHttpClient.spoofAgent

Methods

randomHeaders()

protected randomHeaders(extra?): object

Defined in: packages/base/BaseHttpClient.ts:60

Parameters

extra?

Record<string, string> = {}

Returns

object

Inherited from

BaseHttpClient.randomHeaders


buildHlsHeaders()

protected buildHlsHeaders(opts): object

Defined in: packages/base/BaseHttpClient.ts:69

Parameters

opts

DownloadOptions

Returns

object

User-Agent

User-Agent: string = 'Mozilla/5.0'

Accept

Accept: string = '*/*'

Referer

Referer: string

Origin

Origin: string

Inherited from

BaseHttpClient.buildHlsHeaders


delay()

protected delay(attempt): Promise<unknown>

Defined in: packages/base/BaseHttpClient.ts:94

Parameters

attempt

number

Returns

Promise<unknown>

Inherited from

BaseHttpClient.delay


readBody()

protected readBody(body): Promise<Buffer<ArrayBufferLike>>

Defined in: packages/base/BaseHttpClient.ts:101

Parameters

body

ReadableStream<Uint8Array<ArrayBufferLike>> | null

Returns

Promise<Buffer<ArrayBufferLike>>

Inherited from

BaseHttpClient.readBody


decodeBody()

protected decodeBody(buffer, headers): Buffer

Defined in: packages/base/BaseHttpClient.ts:116

Parameters

buffer

Buffer

headers

Headers

Returns

Buffer

Inherited from

BaseHttpClient.decodeBody


applyCookieWithHeader()

protected applyCookieWithHeader(url, headers): Record<string, string>

Defined in: packages/base/BaseHttpClient.ts:132

Parameters

url

string

headers

Record<string, string>

Returns

Record<string, string>

Inherited from

BaseHttpClient.applyCookieWithHeader


storeCookies()

protected storeCookies(url, headers): void

Defined in: packages/base/BaseHttpClient.ts:147

Parameters

url

string

headers

Headers

Returns

void

Inherited from

BaseHttpClient.storeCookies


addOriginWithHeader()

protected addOriginWithHeader(headers, referer?): Record<string, string>

Defined in: packages/base/BaseHttpClient.ts:170

Parameters

headers

Record<string, string>

referer?

string

Returns

Record<string, string>

Inherited from

BaseHttpClient.addOriginWithHeader


headers()

protected headers(headers): Record<string, string>

Defined in: packages/base/BaseHttpClient.ts:181

Parameters

headers

Headers

Returns

Record<string, string>

Inherited from

BaseHttpClient.headers


isTransportError()

protected isTransportError(error): string | undefined

Defined in: packages/base/BaseHttpClient.ts:185

Parameters

error

unknown

Returns

string | undefined

Inherited from

BaseHttpClient.isTransportError


fetchWithTransportFallback()

fetchWithTransportFallback(url, init, options, allowFallback?): Promise<Response>

Defined in: packages/base/BaseHttpClient.ts:208

Runs a fetch request with transport fallback for transient TLS/socket failures.

Parameters

url

string

URL to request.

init

RequestInit | undefined

Fetch options.

options

HttpAgentOptions

Agent, proxy, and SNI options.

allowFallback?

boolean = true

Whether fallback dispatchers may be attempted.

Returns

Promise<Response>

Native fetch response.

Inherited from

BaseHttpClient.fetchWithTransportFallback


fetchText()

fetchText(url, timeoutMs, headers): Promise<string>

Defined in: packages/base/BaseHttpClient.ts:231

Parameters

url

string

timeoutMs

number

headers

Record<string, any>

Returns

Promise<string>

Inherited from

BaseHttpClient.fetchText


fetchJson()

fetchJson(url, opts): Promise<any>

Defined in: packages/base/BaseHttpClient.ts:235

Parameters

url

string

opts

DownloadOptions

Returns

Promise<any>

Inherited from

BaseHttpClient.fetchJson


requestStream()

requestStream(url, opts): Promise<HLSStreamRequest>

Defined in: packages/engines/http/StreamingClient.ts:97

Resolves a media URL into a stream starter and final response metadata.

Parameters

url

string

Media URL to request.

opts

DownloadOptions

Download options and provider context.

Returns

Promise<HLSStreamRequest>

Stream start callback with final URL, headers, and media flags.