Raydium Framework

HttpClient
in package

Table of Contents

$agents  : array<string|int, mixed>
$apiKey  : string|null
$baseUrl  : string
$context  : DotAccess
$headers  : array<string|int, mixed>
$httpResponse  : array<string|int, mixed>
$referrer  : string|null
$streamOpts  : array<string|int, mixed>
$userAgent  : string
__construct()  : mixed
context()  : DotAccess
get()  : array<string|int, mixed>
getJson()  : array<string|int, mixed>
Convenience: GET and decode JSON.
post()  : array<string|int, mixed>
postJson()  : array<string|int, mixed>
Convenience: POST with JSON payload and decode.
setReferrer()  : void
setUserAgent()  : void
getDefaultHeaders()  : array<string|int, string>
curl()  : array<string|int, mixed>
cURL with retries on 429, raw JSON support.
curlRawJson()  : array<string|int, mixed>
Raw JSON via cURL.
getCaBundle()  : string
hasContentType()  : bool
isPrivateIp()  : bool
request()  : array<string|int, mixed>
Main HTTP request with stream context, retries on 429.
sanitizeEndpoint()  : string
Sanitize endpoint to prevent SSRF and injection.
sanitizeHeader()  : string
Sanitize header line: validate name and strip CR/LF.
setHttpResponse()  : void
throwError()  : void
Generic thrower: hides details unless debug is true.

Properties

$agents

private array<string|int, mixed> $agents = ['moz' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...', 'chrome' => 'Mozilla/5.0 (Windows NT 10.0; WOW64)...', 'safari' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6)...']

$headers

private array<string|int, mixed> $headers = []

$httpResponse

private array<string|int, mixed> $httpResponse = []

$streamOpts

private array<string|int, mixed> $streamOpts = []

Methods

__construct()

public __construct(string $baseUrl[, array<string|int, mixed> $context = [] ]) : mixed
Parameters
$baseUrl : string
$context : array<string|int, mixed> = []
Return values
mixed

context()

public context() : DotAccess
Return values
DotAccess

get()

public get(string $endpoint[, array<string|int, mixed> $headers = [] ]) : array<string|int, mixed>
Parameters
$endpoint : string
$headers : array<string|int, mixed> = []
Return values
array<string|int, mixed>

getJson()

Convenience: GET and decode JSON.

public getJson(string $endpoint[, array<string|int, mixed> $headers = [] ]) : array<string|int, mixed>
Parameters
$endpoint : string
$headers : array<string|int, mixed> = []
Tags
throws
Exception

on network or JSON error

Return values
array<string|int, mixed>

post()

public post(string $endpoint[, array<string|int, mixed> $data = [] ][, array<string|int, mixed> $headers = [] ]) : array<string|int, mixed>
Parameters
$endpoint : string
$data : array<string|int, mixed> = []
$headers : array<string|int, mixed> = []
Return values
array<string|int, mixed>

postJson()

Convenience: POST with JSON payload and decode.

public postJson(string $endpoint, mixed $payload[, array<string|int, mixed> $headers = [] ]) : array<string|int, mixed>
Parameters
$endpoint : string
$payload : mixed
$headers : array<string|int, mixed> = []
Tags
throws
Exception

on network or JSON error

Return values
array<string|int, mixed>

setReferrer()

public setReferrer(string $referrer) : void
Parameters
$referrer : string
Return values
void

setUserAgent()

public setUserAgent(string $userAgent) : void
Parameters
$userAgent : string
Return values
void

getDefaultHeaders()

protected getDefaultHeaders() : array<string|int, string>
Tags
psalm-return

list{0?: string}

Return values
array<string|int, string>

curl()

cURL with retries on 429, raw JSON support.

private curl(string $endpoint, string $method, array<string|int, mixed> $data, array<string|int, mixed> $headers) : array<string|int, mixed>
Parameters
$endpoint : string
$method : string
$data : array<string|int, mixed>
$headers : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed>

curlRawJson()

Raw JSON via cURL.

private curlRawJson(string $endpoint, string $method, string $body, array<string|int, mixed> $headers) : array<string|int, mixed>
Parameters
$endpoint : string
$method : string
$body : string
$headers : array<string|int, mixed>
Return values
array<string|int, mixed>

getCaBundle()

private getCaBundle() : string
Return values
string

hasContentType()

private hasContentType(array<string|int, mixed> $headers) : bool
Parameters
$headers : array<string|int, mixed>
Return values
bool

isPrivateIp()

private isPrivateIp(string $host) : bool
Parameters
$host : string
Return values
bool

request()

Main HTTP request with stream context, retries on 429.

private request(string $endpoint, string $method, array<string|int, mixed> $data, array<string|int, mixed> $headers) : array<string|int, mixed>
Parameters
$endpoint : string
$method : string
$data : array<string|int, mixed>
$headers : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed>

sanitizeEndpoint()

Sanitize endpoint to prevent SSRF and injection.

private sanitizeEndpoint(string $endpoint) : string
Parameters
$endpoint : string
Tags
throws
InvalidArgumentException
Return values
string

sanitizeHeader()

Sanitize header line: validate name and strip CR/LF.

private sanitizeHeader(string $line) : string
Parameters
$line : string
Return values
string

setHttpResponse()

private setHttpResponse(array<string|int, mixed> $headerLines, string $body) : void
Parameters
$headerLines : array<string|int, mixed>
$body : string
Return values
void

throwError()

Generic thrower: hides details unless debug is true.

private throwError(string $detailed, string $generic) : void
Parameters
$detailed : string
$generic : string
Return values
void

Search results