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
invokeCallable(callable $value)

Invoke a value whose public contract guarantees it is callable.

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
shutdown()

Shut down the SSR server.

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|null
getHotUrl(string $path = '/')

Get the Vite hot SSR URL.

bool
isValidSsrResponse(mixed $data)

Determine if the decoded SSR response has the expected shape.

static void
flushState()

Flush all static state.

Details

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

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

Parameters

Request $request

Return Value

bool

at line 182
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 invokeCallable(callable $value)

Invoke a value whose public contract guarantees it is callable.

Parameters

callable $value

Return Value

mixed

in ResolvesCallables at line 22
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 30
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 158
void disable(Closure|bool $condition)

Set the condition that determines if SSR should be disabled.

Parameters

Closure|bool $condition

Return Value

void

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

Exclude the given paths from server-side rendering.

Parameters

array|string $paths

Return Value

void

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

Handle an SSR rendering failure.

Parameters

array $page
array|null $error

Return Value

void

Exceptions

SsrException

at line 228
protected bool ssrIsEnabled(Request $request)

Determine if the SSR feature is enabled.

Parameters

Request $request

Return Value

bool

at line 247
bool isHealthy()

Determine if the SSR server is healthy.

Return Value

bool

at line 263
bool shutdown()

Shut down the SSR server.

Return Value

bool

Exceptions

TransferException

at line 277
protected bool shouldEnsureBundleExists()

Determine if the bundle existence should be ensured.

Return Value

bool

at line 285
protected bool bundleExists()

Check if an SSR bundle exists.

Return Value

bool

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

Get the production SSR server URL.

Parameters

string $path

Return Value

string

at line 304
protected string|null getHotUrl(string $path = '/')

Get the Vite hot SSR URL.

Parameters

string $path

Return Value

string|null

at line 322
protected bool isValidSsrResponse(mixed $data)

Determine if the decoded SSR response has the expected shape.

Parameters

mixed $data

Return Value

bool

at line 361
static void flushState()

Flush all static state.

Return Value

void