PathsPageResponse
extends PageResponse
in package
Paginated collection of payment paths from Horizon API
This response represents a single page of payment paths returned by Horizon's path finding endpoints. Each page contains a collection of possible routes for converting one asset to another through the Stellar network, along with pagination links to navigate through the complete result set.
Path finding enables path payments where the sender delivers one asset while the recipient receives a different asset. Horizon calculates optimal conversion routes considering available offers, liquidity pools, and intermediate assets. The response follows Horizon's standard pagination pattern with cursor-based navigation.
Returned by Horizon endpoints:
- GET /paths/strict-receive - Find paths for receiving a specific destination amount
- GET /paths/strict-send - Find paths for sending a specific source amount
Tags
Table of Contents
Properties
- $httpClient : Client|null
- $rateLimitLimit : int|null
- $rateLimitRemaining : int|null
- $rateLimitReset : int|null
Methods
- fromJson() : PathsPageResponse
- Creates a PathsPageResponse 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() : PathsPageResponse|null
- Fetches the next page of payment paths
- getPaths() : PathsResponse
- Gets the collection of payment paths in this page
- getPreviousPage() : PathsPageResponse|null
- Fetches the previous page of payment paths
- 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 a PathsPageResponse from JSON data
public
static fromJson(array<string|int, mixed> $json) : PathsPageResponse
Parameters
- $json : array<string|int, mixed>
-
Associative array of parsed JSON response
Return values
PathsPageResponse —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 payment paths
public
getNextPage() : PathsPageResponse|null
Return values
PathsPageResponse|null —The next page or null if no next page exists
getPaths()
Gets the collection of payment paths in this page
public
getPaths() : PathsResponse
Return values
PathsResponse —The iterable collection of path records
getPreviousPage()
Fetches the previous page of payment paths
public
getPreviousPage() : PathsPageResponse|null
Return values
PathsPageResponse|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