class HttpGateway implements DisablesSsr, ExcludesSsrPaths, Gateway, HasHealthCheck

Traits

Methods

bool
inExceptArray(Request $request)

Determine if the request has a URI that should be excluded.

array
getExcludedPaths()

Get the paths excluded from SSR for the current request.

mixed
resolveCallable(mixed $value)

Call the given value if callable and inject its dependencies.

bool
useAsCallable(mixed $value)

Determine if the given value is callable, but not a string.

ClientInterface
ssrClient()

Get the Guzzle client for SSR requests.

static void
useTestingClient(ClientInterface|null $client)

Set a Guzzle client for testing purposes.

Response|null
dispatch(array $page, Request|null $request = null)

Dispatch the Inertia page to the SSR engine via HTTP.

void
disable(Closure|bool $condition)

Set the condition that determines if SSR should be disabled.

void
except(array|string $paths)

Exclude the given paths from server-side rendering.

void
handleSsrFailure(array $page, array|null $error)

Handle an SSR rendering failure.

bool
ssrIsEnabled(Request $request)

Determine if the SSR feature is enabled.

bool
isHealthy()

Determine if the SSR server is healthy.

bool
shouldEnsureBundleExists()

Determine if the bundle existence should be ensured.

bool
bundleExists()

Check if an SSR bundle exists.

string
getProductionUrl(string $path = '/')

Get the production SSR server URL.

string
getHotUrl(string $path = '/')

Get the Vite hot SSR URL.

static void
flushState()

Flush all static state.

Details

in ExcludesPaths at line 14
protected bool inExceptArray(Request $request)

Determine if the request has a URI that should be excluded.

Parameters

Request $request

Return Value

bool

at line 173
array getExcludedPaths()

Get the paths excluded from SSR for the current request.

Overrides ExcludesPaths::getExcludedPaths() to read from per-request InertiaState instead of an instance property.

Return Value

array

in ResolvesCallables at line 14
protected mixed resolveCallable(mixed $value)

Call the given value if callable and inject its dependencies.

Parameters

mixed $value

Return Value

mixed

in ResolvesCallables at line 22
protected bool useAsCallable(mixed $value)

Determine if the given value is callable, but not a string.

Parameters

mixed $value

Return Value

bool

at line 62
protected ClientInterface ssrClient()

Get the Guzzle client for SSR requests.

Uses a dedicated raw Guzzle client instead of the Http facade to avoid per-request PendingRequest, HandlerStack, and Client allocations. The client is cached for the worker lifetime, allowing Guzzle's internal CurlFactory to reuse curl handles (TCP connection reuse).

Return Value

ClientInterface

at line 82
static void useTestingClient(ClientInterface|null $client)

Set a Guzzle client for testing purposes.

Tests only. The client persists in a static property for the worker lifetime and is used by every SSR dispatch on this worker.

Parameters

ClientInterface|null $client

Return Value

void

at line 92
Response|null dispatch(array $page, Request|null $request = null)

Dispatch the Inertia page to the SSR engine via HTTP.

Parameters

array $page
Request|null $request

Return Value

Response|null

at line 149
void disable(Closure|bool $condition)

Set the condition that determines if SSR should be disabled.

Parameters

Closure|bool $condition

Return Value

void

at line 159
void except(array|string $paths)

Exclude the given paths from server-side rendering.

Parameters

array|string $paths

Return Value

void

at line 188
protected void handleSsrFailure(array $page, array|null $error)

Handle an SSR rendering failure.

Sets the circuit breaker backoff and dispatches a failure event.

Parameters

array $page
array|null $error

Return Value

void

Exceptions

SsrException

at line 215
protected bool ssrIsEnabled(Request $request)

Determine if the SSR feature is enabled.

Parameters

Request $request

Return Value

bool

at line 234
bool isHealthy()

Determine if the SSR server is healthy.

Return Value

bool

at line 248
protected bool shouldEnsureBundleExists()

Determine if the bundle existence should be ensured.

Return Value

bool

at line 256
protected bool bundleExists()

Check if an SSR bundle exists.

Return Value

bool

at line 264
string getProductionUrl(string $path = '/')

Get the production SSR server URL.

Parameters

string $path

Return Value

string

at line 275
protected string getHotUrl(string $path = '/')

Get the Vite hot SSR URL.

Parameters

string $path

Return Value

string

at line 283
static void flushState()

Flush all static state.

Return Value

void