HttpGateway
class HttpGateway implements DisablesSsr, ExcludesSsrPaths, Gateway, HasHealthCheck
Traits
Methods
Get the paths excluded from SSR for the current request.
Invoke a value whose public contract guarantees it is callable.
Call the given value if callable and inject its dependencies.
Determine if the given value is callable, but not a string.
Get the Guzzle client for SSR requests.
Set a Guzzle client for testing purposes.
Exclude the given paths from server-side rendering.
Handle an SSR rendering failure.
Determine if the SSR server is healthy.
Shut down the SSR server.
Determine if the bundle existence should be ensured.
Check if an SSR bundle exists.
Get the production SSR server URL.
Get the Vite hot SSR URL.
Determine if the decoded SSR response has the expected shape.
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.
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.
in
ResolvesCallables at line 14
protected mixed
invokeCallable(callable $value)
Invoke a value whose public contract guarantees it is callable.
in
ResolvesCallables at line 22
protected mixed
resolveCallable(mixed $value)
Call the given value if callable and inject its dependencies.
in
ResolvesCallables at line 30
protected bool
useAsCallable(mixed $value)
Determine if the given value is callable, but not a string.
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).
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.
at line 92
Response|null
dispatch(array $page, Request|null $request = null)
Dispatch the Inertia page to the SSR engine via HTTP.
at line 158
void
disable(Closure|bool $condition)
Set the condition that determines if SSR should be disabled.
at line 168
void
except(array|string $paths)
Exclude the given paths from server-side rendering.
at line 195
protected void
handleSsrFailure(array $page, array|null $error)
Handle an SSR rendering failure.
at line 228
protected bool
ssrIsEnabled(Request $request)
Determine if the SSR feature is enabled.
at line 247
bool
isHealthy()
Determine if the SSR server is healthy.
at line 263
bool
shutdown()
Shut down the SSR server.
at line 277
protected bool
shouldEnsureBundleExists()
Determine if the bundle existence should be ensured.
at line 285
protected bool
bundleExists()
Check if an SSR bundle exists.
at line 293
string
getProductionUrl(string $path = '/')
Get the production SSR server URL.
at line 304
protected string|null
getHotUrl(string $path = '/')
Get the Vite hot SSR URL.
at line 322
protected bool
isValidSsrResponse(mixed $data)
Determine if the decoded SSR response has the expected shape.
at line 361
static void
flushState()
Flush all static state.