Skip to content

Latest commit

 

History

History
486 lines (244 loc) · 10.1 KB

File metadata and controls

486 lines (244 loc) · 10.1 KB

downflux


downflux / HttpClient

Class: HttpClient

Defined in: packages/engines/http/HttpClient.ts:14

HTTP engine for page and JSON metadata requests.

Remarks

The client applies provider strategies, retry behavior, cookie persistence, transport fallback, and response decoding before parsers receive HTML.

Extends

Constructors

Constructor

new HttpClient(progressManager): HttpClient

Defined in: packages/engines/http/HttpClient.ts:15

Parameters

progressManager

ProgressManager

Returns

HttpClient

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


fetchHtml()

fetchHtml(url, opts): Promise<FetchResult>

Defined in: packages/engines/http/HttpClient.ts:27

Fetches a page as HTML using provider-aware transport rules.

Parameters

url

string

Page URL to fetch.

opts

DownloadOptions

Download and HTTP options.

Returns

Promise<FetchResult>

Decoded HTML, final URL, status, headers, and raw buffer.