RealHttpClient
in package
implements
IHttpClient
Real HTTP client implementation using curl.
This is the production implementation that makes actual HTTP requests.
Table of Contents
Interfaces
- IHttpClient
- Interface for HTTP client operations abstraction.
Properties
- $defaultHeaders : array<string|int, mixed>
- $timeout : int
Methods
- delete() : IHttpResponse
- Perform DELETE request
- get() : IHttpResponse
- Perform GET request
- post() : IHttpResponse
- Perform POST request with form data
- postJson() : IHttpResponse
- Perform POST request with JSON body
- put() : IHttpResponse
- Perform PUT request
- setDefaultHeaders() : void
- Set default headers for all requests
- setTimeout() : void
- Set timeout for requests
- executeRequest() : IHttpResponse
- Execute curl request and build response
- initCurl() : resource
- Initialize curl handle with common options
Properties
$defaultHeaders
private
array<string|int, mixed>
$defaultHeaders
= []
$timeout
private
int
$timeout
= 30
Methods
delete()
Perform DELETE request
public
delete(string $url[, array<string|int, mixed> $headers = [] ]) : IHttpResponse
Parameters
- $url : string
-
Request URL
- $headers : array<string|int, mixed> = []
-
Additional headers
Tags
Return values
IHttpResponse —Response object
get()
Perform GET request
public
get(string $url[, array<string|int, mixed> $params = [] ][, array<string|int, mixed> $headers = [] ]) : IHttpResponse
Parameters
- $url : string
-
Request URL
- $params : array<string|int, mixed> = []
-
Query parameters
- $headers : array<string|int, mixed> = []
-
Additional headers
Tags
Return values
IHttpResponse —Response object
post()
Perform POST request with form data
public
post(string $url[, array<string|int, mixed> $data = [] ][, array<string|int, mixed> $headers = [] ]) : IHttpResponse
Parameters
- $url : string
-
Request URL
- $data : array<string|int, mixed> = []
-
POST data
- $headers : array<string|int, mixed> = []
-
Additional headers
Tags
Return values
IHttpResponse —Response object
postJson()
Perform POST request with JSON body
public
postJson(string $url, string $json[, array<string|int, mixed> $headers = [] ]) : IHttpResponse
Parameters
- $url : string
-
Request URL
- $json : string
-
JSON string
- $headers : array<string|int, mixed> = []
-
Additional headers
Tags
Return values
IHttpResponse —Response object
put()
Perform PUT request
public
put(string $url[, array<string|int, mixed> $data = [] ][, array<string|int, mixed> $headers = [] ]) : IHttpResponse
Parameters
- $url : string
-
Request URL
- $data : array<string|int, mixed> = []
-
PUT data
- $headers : array<string|int, mixed> = []
-
Additional headers
Tags
Return values
IHttpResponse —Response object
setDefaultHeaders()
Set default headers for all requests
public
setDefaultHeaders(array<string|int, mixed> $headers) : void
Parameters
- $headers : array<string|int, mixed>
-
Headers to set
Tags
setTimeout()
Set timeout for requests
public
setTimeout(int $seconds) : void
Parameters
- $seconds : int
-
Timeout in seconds
Tags
executeRequest()
Execute curl request and build response
private
executeRequest(resource $ch) : IHttpResponse
Parameters
- $ch : resource
-
Curl handle
Return values
IHttpResponse —Response object
initCurl()
Initialize curl handle with common options
private
initCurl(string $url, array<string|int, mixed> $headers) : resource
Parameters
- $url : string
-
Request URL
- $headers : array<string|int, mixed>
-
Request headers
Return values
resource —Curl handle