ApiRequestHandler
in package
Handles authenticated API requests with response parsing and error handling.
Table of Contents
Constants
- DEFAULT_TIMEOUT = 60
- ERROR_BODY_LIMIT = 1024
- TIMEOUTS_BY_PATH = array('/v1/generate/pdf' => 900, '/protect/pdf' => 180, '/watermark/pdf' => 180, '/compress/pdf' => 180, '/forms/flatten' => 180)
Properties
- $apiKey : string
- $baseUrl : string
- $transport : HttpTransportInterface
Methods
- __construct() : mixed
- getBinary() : string
- Sends a GET request and returns the raw response body.
- getJson() : array<string, mixed>
- Sends a GET request and parses a JSON response.
- postJson() : array<string, mixed>
- Sends a POST request and parses a JSON response.
- postMultipart() : array<string, mixed>
- Sends a multipart/form-data POST request and parses a JSON response.
- authHeaders() : array<string, string>
- convertJsonValue() : mixed
- convertObjectToArray() : array<string, mixed>
- decodeJsonResponse() : array<string, mixed>
- normalizeArray() : array<string, mixed>
- resolveTimeoutForPath() : int
- send() : HttpResponse
- truncateBody() : string
Constants
DEFAULT_TIMEOUT
private
mixed
DEFAULT_TIMEOUT
= 60
ERROR_BODY_LIMIT
private
mixed
ERROR_BODY_LIMIT
= 1024
TIMEOUTS_BY_PATH
private
mixed
TIMEOUTS_BY_PATH
= array('/v1/generate/pdf' => 900, '/protect/pdf' => 180, '/watermark/pdf' => 180, '/compress/pdf' => 180, '/forms/flatten' => 180)
Properties
$apiKey
private
string
$apiKey
$baseUrl
private
string
$baseUrl
$transport
private
HttpTransportInterface
$transport
Methods
__construct()
public
__construct(string $baseUrl, string $apiKey, HttpTransportInterface $transport) : mixed
Parameters
- $baseUrl : string
-
API base URL.
- $apiKey : string
-
PDFGate API key.
- $transport : HttpTransportInterface
-
HTTP transport implementation.
getBinary()
Sends a GET request and returns the raw response body.
public
getBinary(string $path) : string
Parameters
- $path : string
-
Endpoint path.
Return values
stringgetJson()
Sends a GET request and parses a JSON response.
public
getJson(string $path[, array<string, mixed> $query = array() ]) : array<string, mixed>
Parameters
- $path : string
-
Endpoint path.
- $query : array<string, mixed> = array()
-
Query string parameters.
Return values
array<string, mixed>postJson()
Sends a POST request and parses a JSON response.
public
postJson(string $path, array<string, mixed> $payload) : array<string, mixed>
Parameters
- $path : string
-
Endpoint path.
- $payload : array<string, mixed>
-
Request body payload.
Return values
array<string, mixed>postMultipart()
Sends a multipart/form-data POST request and parses a JSON response.
public
postMultipart(string $path, array<string, mixed> $payload) : array<string, mixed>
Parameters
- $path : string
-
Endpoint path.
- $payload : array<string, mixed>
-
multipart/form-data payload.
Return values
array<string, mixed>authHeaders()
private
authHeaders() : array<string, string>
Return values
array<string, string>convertJsonValue()
private
convertJsonValue(mixed $value) : mixed
Parameters
- $value : mixed
convertObjectToArray()
private
convertObjectToArray(object $decoded) : array<string, mixed>
Parameters
- $decoded : object
Return values
array<string, mixed>decodeJsonResponse()
private
decodeJsonResponse(string $body) : array<string, mixed>
Parameters
- $body : string
Return values
array<string, mixed>normalizeArray()
private
normalizeArray(array<string, mixed> $payload) : array<string, mixed>
Parameters
- $payload : array<string, mixed>
Return values
array<string, mixed>resolveTimeoutForPath()
private
resolveTimeoutForPath(string $path) : int
Parameters
- $path : string
Return values
intsend()
private
send(HttpRequest $request) : HttpResponse
Parameters
- $request : HttpRequest
Return values
HttpResponsetruncateBody()
private
truncateBody(string $body) : string
Parameters
- $body : string