OffersPageResponse
extends PageResponse
in package
Paginated collection of offers from Horizon API
This response represents a single page of offers returned by Horizon's offer endpoints. Each page contains a collection of offer records from the Stellar distributed exchange (DEX) along with pagination links to navigate forward and backward through the complete result set.
Offers represent standing orders in the DEX order book where accounts commit to exchange one asset for another at a specified price ratio. The response follows Horizon's standard pagination pattern with cursor-based navigation.
Returned by Horizon endpoints:
- GET /offers - All offers on the DEX
- GET /offers/{offer_id} - Specific offer details
- GET /accounts/{account_id}/offers - Offers created by an account
Tags
Table of Contents
Properties
- $httpClient : Client|null
- $rateLimitLimit : int|null
- $rateLimitRemaining : int|null
- $rateLimitReset : int|null
Methods
- fromJson() : OffersPageResponse
- Creates an OffersPageResponse from JSON data
- getHttpClient() : Client|null
- Gets the HTTP client used for pagination requests
- getLinks() : PagingLinksResponse
- Gets the pagination links for navigating between pages
- getNextPage() : OffersPageResponse|null
- Fetches the next page of offers
- getOffers() : OffersResponse
- Gets the collection of offers in this page
- getPreviousPage() : OffersPageResponse|null
- Fetches the previous page of offers
- getRateLimitLimit() : int|null
- Returns X-RateLimit-Limit header from the response.
- getRateLimitRemaining() : int|null
- Returns X-RateLimit-Remaining header from the response.
- getRateLimitReset() : int|null
- Returns X-RateLimit-Reset header from the response. Seconds until a new window starts.
- hasNextPage() : bool
- Checks if a next page exists
- hasPrevPage() : bool
- Checks if a previous page exists
- setHeaders() : void
- Extracts and sets rate limiting information from HTTP response headers
- setHttpClient() : void
- Sets the HTTP client for making follow-up requests
- executeRequest() : Response|null
- getNextPageUrl() : string|null
- getPrevPageUrl() : string|null
- loadFromJson() : void
- Loads response data from a JSON array
Properties
$httpClient
protected
Client|null
$httpClient
= null
$rateLimitLimit
protected
int|null
$rateLimitLimit
= null
$rateLimitRemaining
protected
int|null
$rateLimitRemaining
= null
$rateLimitReset
protected
int|null
$rateLimitReset
= null
Methods
fromJson()
Creates an OffersPageResponse from JSON data
public
static fromJson(array<string|int, mixed> $json) : OffersPageResponse
Parameters
- $json : array<string|int, mixed>
-
Associative array of parsed JSON response
Return values
OffersPageResponse —The populated page response
getHttpClient()
Gets the HTTP client used for pagination requests
public
getHttpClient() : Client|null
Return values
Client|null —The HTTP client instance, or null if not set
getLinks()
Gets the pagination links for navigating between pages
public
getLinks() : PagingLinksResponse
Return values
PagingLinksResponse —The navigation links (next, prev, self)
getNextPage()
Fetches the next page of offers
public
getNextPage() : OffersPageResponse|null
Return values
OffersPageResponse|null —The next page or null if no next page exists
getOffers()
Gets the collection of offers in this page
public
getOffers() : OffersResponse
Return values
OffersResponse —The iterable collection of offer records
getPreviousPage()
Fetches the previous page of offers
public
getPreviousPage() : OffersPageResponse|null
Return values
OffersPageResponse|null —The previous page or null if no previous page exists
getRateLimitLimit()
Returns X-RateLimit-Limit header from the response.
public
getRateLimitLimit() : int|null
This number represents the he maximum number of requests that the current client can make in one hour.
Tags
Return values
int|nullgetRateLimitRemaining()
Returns X-RateLimit-Remaining header from the response.
public
getRateLimitRemaining() : int|null
The number of remaining requests for the current window.
Tags
Return values
int|nullgetRateLimitReset()
Returns X-RateLimit-Reset header from the response. Seconds until a new window starts.
public
getRateLimitReset() : int|null
Tags
Return values
int|nullhasNextPage()
Checks if a next page exists
public
hasNextPage() : bool
Return values
bool —True if there is a next page available
hasPrevPage()
Checks if a previous page exists
public
hasPrevPage() : bool
Return values
bool —True if there is a previous page available
setHeaders()
Extracts and sets rate limiting information from HTTP response headers
public
setHeaders(array<string|int, mixed> $headers) : void
This method processes the X-Ratelimit-* headers from the HTTP response and stores them for client access.
Parameters
- $headers : array<string|int, mixed>
-
Associative array of HTTP headers from the response
setHttpClient()
Sets the HTTP client for making follow-up requests
public
setHttpClient([Client|null $httpClient = null ]) : void
Paginated responses contain links to next/previous pages. This HTTP client is used when following those links to fetch additional pages.
Parameters
- $httpClient : Client|null = null
-
The Guzzle HTTP client to use for pagination
executeRequest()
protected
executeRequest(string $requestType[, string|null $url = null ]) : Response|null
Parameters
- $requestType : string
- $url : string|null = null
Tags
Return values
Response|nullgetNextPageUrl()
protected
getNextPageUrl() : string|null
Return values
string|nullgetPrevPageUrl()
protected
getPrevPageUrl() : string|null
Return values
string|nullloadFromJson()
Loads response data from a JSON array
protected
loadFromJson(array<string|int, mixed> $json) : void
This method is used internally to populate response objects from parsed JSON. Subclasses override this to extract their specific data fields.
Parameters
- $json : array<string|int, mixed>
-
Associative array of parsed JSON data