Request
class Request extends Request implements Arrayable, ArrayAccess
Traits
Constants
| protected FORWARDED_PARAMS |
Forwarded-header parameter mapping. |
| protected TRUSTED_HEADERS |
Mapping of trusted-header bitmask flags to header names. |
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| protected float | $startedAtTimestamp | The timestamp when the server started processing the request. |
|
| protected InputBag|null | $json | The decoded JSON content for the request. |
|
| protected null|array<array-key, null|mixed[]|UploadedFile> | $convertedFiles | All of the converted files for the request. |
|
| protected Closure|null | $userResolver | The user resolver callback. |
|
| static protected Closure|null | $defaultUserResolver | The default user resolver callback. |
|
| protected Closure|null | $routeResolver | The route resolver callback. |
|
| protected string|null | $cachedAcceptHeader | The cached "Accept" header value. |
|
| protected string[] | $trustedProxiesValue | Trusted proxy IP addresses / CIDR ranges for the current request. |
|
| protected int | $trustedHeaderSetValue | Bitmask of trusted forwarded-headers for the current request. |
|
| protected string[] | $trustedHostPatternsValue | Compiled trusted-host regex patterns for the current request. |
|
| protected string[] | $trustedHostsValue | Memoized cache of host strings that matched a trusted pattern. |
|
| protected array<string, array> | $trustedValuesCacheValue | Memoized cache of parsed trusted-header values for this request. |
|
| protected bool | $isHostValidValue | One-shot flag preventing duplicate "Suspicious Host" exceptions per request. |
|
| protected bool | $isForwardedValidValue | One-shot flag preventing duplicate "ConflictingHeaders" exceptions per request. |
|
| protected string|null | $transportRequestUri | Transport URI associated with a precomputed path. |
Methods
Filter the given array of rules into an array of rules that are included in precognitive headers.
Determine if the given attribute should be validated.
Determine if the request is attempting to be precognitive.
Determine if the current request probably expects a JSON response.
Determine if the current request is asking for JSON.
Determine if the current request is asking for Markdown.
Determine whether the current requests accepts a given content type.
Return the most suitable content type from the given array based on content negotiation.
Determine if the current request accepts any content type.
Determine if the given content types match.
Get the data format expected in the response.
Retrieve an old input item.
Flash only some of the input to the session.
Flash only some of the input to the session.
Retrieve data from the instance.
Determine if the instance contains any of the given keys.
Apply the callback if the instance contains the given key.
Determine if the instance contains a non-empty value for the given key.
Determine if the instance contains an empty value for the given key.
Determine if the instance contains a non-empty value for any of the given keys.
Apply the callback if the instance contains a non-empty value for the given key.
Apply the callback if the instance contains a valid enum value for the given key.
Determine if the instance is missing a given key.
Apply the callback if the instance is missing the given key.
Determine if the given key is an empty string for "filled".
Retrieve data from the instance as a Stringable instance.
Retrieve data from the instance as a Stringable instance.
Retrieve data as a boolean value.
Retrieve data as an integer value.
Retrieve data as a float value.
Retrieve data clamped between min and max values.
Retrieve data from the instance as a Carbon instance.
Retrieve data from the instance as a CarbonInterval instance.
Retrieve data from the instance as an enum.
Retrieve data from the instance as an array of enums.
Retrieve data from the instance as an array.
Retrieve data from the instance as a collection.
Get a subset containing the provided keys with values from the instance data.
Get all of the data except for a specified array of items.
Retrieve a server variable from the request.
Retrieve a header from the request.
Retrieve an input item from the request.
Retrieve input from the request as a Fluent object instance.
Retrieve a query string item from the request.
Retrieve a request payload item from the request.
Retrieve a cookie from the request.
Convert the given array of Symfony UploadedFiles to custom Hypervel UploadedFiles.
Check that the given file is a valid file instance.
Retrieve a file from the request.
Retrieve a file from the request as an image instance.
Retrieve a parameter item from a given source.
Apply the callback if the given "value" is (or resolves to) truthy.
Apply the callback if the given "value" is (or resolves to) falsy.
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Create a request, optionally reusing headers and path data prepared by the transport.
Initialize the request data.
Initialize request bags while retaining headers already normalized by the transport.
Return the precomputed transport path unless middleware rewrote its URI.
Create a new HTTP request from PHP superglobals.
Set the trusted proxies on the current request.
Get the trusted proxies for the current request.
Get the trusted-header bitmask for the current request.
Set the trusted host patterns for the current request.
Get the trusted host patterns for the current request.
Get when the server started processing the request.
Get the request method.
Get the root URL for the application.
Get the URL (no query string) for the request.
Get the full URL for the request.
Get the full URL for the request with the added query string parameters.
Get the full URL for the request without the given query string parameters.
Get the current path info for the request.
Get the current decoded path info for the request.
Get a segment from the URI (1 based index).
Get all of the segments for the request path.
Determine if the current request URI matches a pattern.
Determine if the route name matches a given pattern.
Determine if the current request URL and query string match a pattern.
Get the host name.
Get the HTTP host being requested.
Get the scheme and HTTP host.
Determine if the request is the result of an AJAX call.
Determine if the request is the result of a PJAX call.
Determine if the request is the result of a prefetch call.
Determine if the request is over HTTPS.
Get the client IP address.
Get the client IP addresses.
Get the client IP addresses.
Return the root URL from which this request is executed.
Return the port on which the request is made.
Determine whether the request is secure.
Return the host name.
Determine whether this request originated from a trusted proxy.
Get the client user agent.
Get the content types accepted by the request.
Merge new input into the request's input, but only when that key is missing from the request.
Get the JSON payload for the request.
Get the input source for the request.
Create a new request instance from the given request.
Create a Hypervel request from a Symfony instance.
Duplicate the request with the given parameters.
Clone the current request.
Reset the trusted-values cache and one-shot exception flags.
Return the real base URL without the trusted reverse proxy prefix.
Parse the trusted forwarded-header values for the requested type.
Normalize and filter trusted client IPs.
Validate a host string per Symfony's URL-spec rules.
Filter the given array of files, removing any empty values.
Determine if the request has an attached session.
Get the Symfony session decorator for the request.
Set the locale for the request instance.
Set the default locale for the request instance.
Get the user making the request.
Get the route handling the request.
Get a unique fingerprint for the request / route / IP address.
Get the user resolver callback.
Get the route resolver callback.
Get all of the input and files for the request.
Determine if the given offset exists.
Get the value at the given offset.
Set the value at the given offset.
Remove the value at the given offset.
Flush all static state.
Check if an input element is set on the request.
Get an input element from the request.
No description
No description
No description
No description
No description
No description
Registered as a macro by Hypervel\Inertia\InertiaServiceProvider.
Details
in
CanBePrecognitive at line 14
array
filterPrecognitiveRules(array $rules)
Filter the given array of rules into an array of rules that are included in precognitive headers.
in
CanBePrecognitive at line 30
protected bool
shouldValidatePrecognitiveAttribute(string $attribute, array $validateOnly)
Determine if the given attribute should be validated.
in
CanBePrecognitive at line 46
bool
isAttemptingPrecognition()
Determine if the request is attempting to be precognitive.
in
CanBePrecognitive at line 54
bool
isPrecognitive()
Determine if the request is precognitive.
in
InteractsWithContentTypes at line 14
bool
isJson()
Determine if the request is sending JSON.
in
InteractsWithContentTypes at line 22
bool
expectsJson()
Determine if the current request probably expects a JSON response.
in
InteractsWithContentTypes at line 30
bool
wantsJson()
Determine if the current request is asking for JSON.
in
InteractsWithContentTypes at line 40
bool
wantsMarkdown()
Determine if the current request is asking for Markdown.
in
InteractsWithContentTypes at line 50
bool
accepts(string|array $contentTypes)
Determine whether the current requests accepts a given content type.
in
InteractsWithContentTypes at line 86
string|null
prefers(string|array $contentTypes)
Return the most suitable content type from the given array based on content negotiation.
in
InteractsWithContentTypes at line 124
bool
acceptsAnyContentType()
Determine if the current request accepts any content type.
in
InteractsWithContentTypes at line 136
bool
acceptsJson()
Determine whether a request accepts JSON.
in
InteractsWithContentTypes at line 144
bool
acceptsMarkdown()
Determine whether a request accepts Markdown.
in
InteractsWithContentTypes at line 152
bool
acceptsHtml()
Determine whether a request accepts HTML.
in
InteractsWithContentTypes at line 160
static bool
matchesType(string $actual, string $type)
Determine if the given content types match.
in
InteractsWithContentTypes at line 174
string
format(string $default = 'html')
Get the data format expected in the response.
in
InteractsWithFlashData at line 14
mixed
old(string|null $key = null, mixed $default = null)
Retrieve an old input item.
in
InteractsWithFlashData at line 24
void
flash()
Flash the input for the current request to the session.
in
InteractsWithFlashData at line 32
void
flashOnly(mixed $keys)
Flash only some of the input to the session.
in
InteractsWithFlashData at line 42
void
flashExcept(mixed $keys)
Flash only some of the input to the session.
in
InteractsWithFlashData at line 52
void
flush()
Flush all of the old input from the session.
in
Dumpable at line 12
never
dd(mixed ...$args)
Dump the given arguments and terminate execution.
in
InteractsWithData at line 30
abstract array
all(mixed $keys = null)
Retrieve all data from the instance.
in
InteractsWithData at line 35
abstract protected mixed
data(string|null $key = null, mixed $default = null)
Retrieve data from the instance.
in
InteractsWithData at line 40
bool
exists(array|string $key)
Determine if the data contains a given key.
in
InteractsWithData at line 48
bool
has(array|string $key)
Determine if the data contains a given key.
in
InteractsWithData at line 67
bool
hasAny(array|string $keys)
Determine if the instance contains any of the given keys.
in
InteractsWithData at line 86
mixed
whenHas(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance contains the given key.
in
InteractsWithData at line 102
bool
filled(array|string $key)
Determine if the instance contains a non-empty value for the given key.
in
InteractsWithData at line 119
bool
isNotFilled(array|string $key)
Determine if the instance contains an empty value for the given key.
in
InteractsWithData at line 136
bool
anyFilled(array|string $keys)
Determine if the instance contains a non-empty value for any of the given keys.
in
InteractsWithData at line 160
mixed
whenFilled(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance contains a non-empty value for the given key.
in
InteractsWithData at line 185
mixed
whenEnum(string $key, string $enumClass, callable $callback, callable|null $default = null)
Apply the callback if the instance contains a valid enum value for the given key.
in
InteractsWithData at line 201
bool
missing(array|string $key)
Determine if the instance is missing a given key.
in
InteractsWithData at line 218
mixed
whenMissing(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance is missing the given key.
in
InteractsWithData at line 234
protected bool
isEmptyString(string $key)
Determine if the given key is an empty string for "filled".
in
InteractsWithData at line 246
Stringable
str(string $key, mixed $default = null, bool $strict = false)
Retrieve data from the instance as a Stringable instance.
in
InteractsWithData at line 256
Stringable
string(string $key, mixed $default = null, bool $strict = false)
Retrieve data from the instance as a Stringable instance.
When strict, values that are not strings, numbers, or Stringable objects return the default.
in
InteractsWithData at line 279
bool|null
boolean(string|null $key = null, Closure|bool|null $default = false, bool $strict = false)
Retrieve data as a boolean value.
Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false. When strict, unrecognized or empty values return the default.
in
InteractsWithData at line 301
int|null
integer(string $key, Closure|int|null $default = 0, bool $strict = false)
Retrieve data as an integer value.
When strict, values that are not valid integers return the default.
in
InteractsWithData at line 328
float|null
float(string $key, Closure|float|null $default = 0.0, bool $strict = false)
Retrieve data as a float value.
When strict, values that are not valid numbers return the default.
in
InteractsWithData at line 347
int|float
clamp(string $key, int|float $min, int|float $max, int|float $default = 0)
Retrieve data clamped between min and max values.
in
InteractsWithData at line 365
CarbonInterface|null
date(string $key, string|null $format = null, UnitEnum|string|null $tz = null)
Retrieve data from the instance as a Carbon instance.
in
InteractsWithData at line 383
CarbonInterval|null
interval(string $key, Unit|string|null $unit = null)
Retrieve data from the instance as a CarbonInterval instance.
in
InteractsWithData at line 410
mixed
enum(string $key, string $enumClass, mixed $default = null)
Retrieve data from the instance as an enum.
in
InteractsWithData at line 427
array
enums(string $key, string $enumClass)
Retrieve data from the instance as an array of enums.
in
InteractsWithData at line 442
array
array(array|string|null $key = null)
Retrieve data from the instance as an array.
in
InteractsWithData at line 452
Collection
collect(array|string|null $key = null)
Retrieve data from the instance as a collection.
in
InteractsWithData at line 460
array
only(mixed $keys)
Get a subset containing the provided keys with values from the instance data.
in
InteractsWithData at line 482
array
except(mixed $keys)
Get all of the data except for a specified array of items.
in
InteractsWithInput at line 29
mixed
server(string|null $key = null, mixed $default = null)
Retrieve a server variable from the request.
in
InteractsWithInput at line 37
bool
hasHeader(string $key)
Determine if a header is set on the request.
in
InteractsWithInput at line 49
string|array|null
header(string|null $key = null, string|array|null $default = null)
Retrieve a header from the request.
A header stored with a null value returns null even when a default is given.
in
InteractsWithInput at line 57
string|null
bearerToken()
Get the bearer token from the request headers.
in
InteractsWithInput at line 75
array
keys()
Get the keys for all of the input and files.
in
InteractsWithInput at line 105
mixed
input(string|null $key = null, mixed $default = null)
Retrieve an input item from the request.
in
InteractsWithInput at line 117
Fluent
fluent(array|string|null $key = null, array $default = [])
Retrieve input from the request as a Fluent object instance.
in
InteractsWithInput at line 132
mixed
query(string|null $key = null, mixed $default = null)
Retrieve a query string item from the request.
in
InteractsWithInput at line 145
mixed
post(string|null $key = null, mixed $default = null)
Retrieve a request payload item from the request.
in
InteractsWithInput at line 153
bool
hasCookie(string $key)
Determine if a cookie is set on the request.
in
InteractsWithInput at line 166
mixed
cookie(string|null $key = null, mixed $default = null)
Retrieve a cookie from the request.
in
InteractsWithInput at line 178
array
allFiles()
Get an array of all of the files on the request.
Nested inputs give nested arrays, and an input submitted without a file is null.
in
InteractsWithInput at line 193
protected array
convertUploadedFiles(array $files)
Convert the given array of Symfony UploadedFiles to custom Hypervel UploadedFiles.
in
InteractsWithInput at line 209
bool
hasFile(string $key)
Determine if the uploaded data contains a file.
in
InteractsWithInput at line 228
protected bool
isValidFile(mixed $file)
Check that the given file is a valid file instance.
in
InteractsWithInput at line 241
mixed
file(string|null $key = null, mixed $default = null)
Retrieve a file from the request.
in
InteractsWithInput at line 249
Image|null
image(string $key)
Retrieve a file from the request as an image instance.
in
InteractsWithInput at line 271
protected mixed
retrieveItem(string $source, string|null $key, mixed $default)
Retrieve a parameter item from a given source.
in
Conditionable at line 23
mixed
when(mixed $value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) truthy.
in
Conditionable at line 56
mixed
unless(mixed $value = null, callable|null $callback = null, callable|null $default = null)
Apply the callback if the given "value" is (or resolves to) falsy.
in
Macroable at line 30
static void
macro(string $name, callable|object $macro)
Register a custom macro.
Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.
in
Macroable at line 44
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.
in
Macroable at line 61
static bool
hasMacro(string $name)
Check if macro is registered.
in
Macroable at line 72
static void
flushMacros()
Flush the existing macros.
Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.
in
Macroable at line 83
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 108
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 179
__construct(array $query = [], array $request = [], array $attributes = [], array $cookies = [], array $files = [], array $server = [], mixed $content = null, HeaderBag|null $headers = null, string|null $pathInfo = null)
Create a request, optionally reusing headers and path data prepared by the transport.
at line 212
void
initialize(array $query = [], array $request = [], array $attributes = [], array $cookies = [], array $files = [], array $server = [], $content = null)
Initialize the request data.
at line 234
protected void
initializeWithHeaderBag(array $query, array $request, array $attributes, array $cookies, array $files, array $server, mixed $content, HeaderBag $headers, string|null $pathInfo)
Initialize request bags while retaining headers already normalized by the transport.
at line 292
string
getPathInfo()
Return the precomputed transport path unless middleware rewrote its URI.
at line 311
static never
createFromGlobals()
Create a new HTTP request from PHP superglobals.
at line 320
static void
setTrustedProxies(array $proxies, int $trustedHeaderSet)
Set the trusted proxies on the current request.
at line 355
static array
getTrustedProxies()
Get the trusted proxies for the current request.
at line 365
static int
getTrustedHeaderSet()
Get the trusted-header bitmask for the current request.
at line 375
static void
setTrustedHosts(array $hostPatterns)
Set the trusted host patterns for the current request.
at line 396
static array
getTrustedHosts()
Get the trusted host patterns for the current request.
at line 408
Request
instance()
Return the Request instance.
at line 416
CarbonImmutable
startedAt()
Get when the server started processing the request.
at line 424
string
method()
Get the request method.
at line 432
Uri
uri()
Get a URI instance for the request.
at line 440
string
root()
Get the root URL for the application.
at line 448
string
url()
Get the URL (no query string) for the request.
at line 456
string
fullUrl()
Get the full URL for the request.
at line 468
string
fullUrlWithQuery(array $query)
Get the full URL for the request with the added query string parameters.
at line 480
string
fullUrlWithoutQuery(array|string $keys)
Get the full URL for the request without the given query string parameters.
at line 494
string
path()
Get the current path info for the request.
at line 504
string
decodedPath()
Get the current decoded path info for the request.
at line 512
string|null
segment(int $index, string|null $default = null)
Get a segment from the URI (1 based index).
at line 520
array
segments()
Get all of the segments for the request path.
at line 532
bool
is(mixed ...$patterns)
Determine if the current request URI matches a pattern.
at line 557
bool
routeIs(mixed ...$patterns)
Determine if the route name matches a given pattern.
at line 565
bool
fullUrlIs(mixed ...$patterns)
Determine if the current request URL and query string match a pattern.
at line 588
string
host()
Get the host name.
at line 596
string
httpHost()
Get the HTTP host being requested.
at line 604
string
schemeAndHttpHost()
Get the scheme and HTTP host.
at line 612
bool
ajax()
Determine if the request is the result of an AJAX call.
at line 620
bool
pjax()
Determine if the request is the result of a PJAX call.
at line 628
bool
prefetch()
Determine if the request is the result of a prefetch call.
at line 638
bool
secure()
Determine if the request is over HTTPS.
at line 646
string|null
ip()
Get the client IP address.
at line 654
array
ips()
Get the client IP addresses.
at line 662
array
getClientIps()
Get the client IP addresses.
at line 677
string
getBaseUrl()
Return the root URL from which this request is executed.
at line 693
int|string|null
getPort()
Return the port on which the request is made.
at line 721
bool
isSecure()
Determine whether the request is secure.
at line 737
string
getHost()
Return the host name.
at line 784
bool
isFromTrustedProxy()
Determine whether this request originated from a trusted proxy.
at line 794
string|null
userAgent()
Get the client user agent.
at line 802
array
getAcceptableContentTypes()
Get the content types accepted by the request.
at line 821
Request
merge(array $input)
Merge new input into the current request's input array.
at line 841
Request
mergeIfMissing(array $input)
Merge new input into the request's input, but only when that key is missing from the request.
at line 855
Request
replace(array $input)
Replace the input values for the current request.
at line 870
mixed
json(string|null $key = null, mixed $default = null)
Get the JSON payload for the request.
at line 888
protected InputBag
getInputSource()
Get the input source for the request.
at line 900
static Request
createFrom(Request $from, Request|null $to = null)
Create a new request instance from the given request.
at line 941
static Request
createFromBase(Request $request)
Create a Hypervel request from a Symfony instance.
at line 970
Request
duplicate(array|null $query = null, array|null $request = null, array|null $attributes = null, array|null $cookies = null, array|null $files = null, array|null $server = null)
Duplicate the request with the given parameters.
at line 979
void
__clone()
Clone the current request.
at line 992
protected void
copyTrustedStateFrom(Request $from)
Copy trusted request configuration from another request.
at line 1007
protected void
resetTrustedRequestCaches()
Reset the trusted-values cache and one-shot exception flags.
at line 1017
protected string
getBaseUrlReal()
Return the real base URL without the trusted reverse proxy prefix.
at line 1027
protected array
getTrustedValues(int $type, string|null $ip = null)
Parse the trusted forwarded-header values for the requested type.
at line 1104
protected array
normalizeAndFilterClientIps(array $clientIps, string $ip)
Normalize and filter trusted client IPs.
at line 1142
static protected bool
isHostValid(string $host)
Validate a host string per Symfony's URL-spec rules.
at line 1159
protected mixed
filterFiles(mixed $files)
Filter the given array of files, removing any empty values.
at line 1183
bool
hasSession(bool $skipIfUninitialized = false)
Determine if the request has an attached session.
at line 1194
SessionInterface
getSession()
Get the Symfony session decorator for the request.
at line 1209
Session
session()
Get the session associated with the request.
at line 1223
void
setHypervelSession(Session $session)
Set the session instance on the request.
at line 1231
void
setRequestLocale(string $locale)
Set the locale for the request instance.
at line 1239
void
setDefaultRequestLocale(string $locale)
Set the default locale for the request instance.
at line 1247
mixed
user(string|null $guard = null)
Get the user making the request.
at line 1257
mixed
route(string|null $param = null, mixed $default = null)
Get the route handling the request.
at line 1280
string
fingerprint()
Get a unique fingerprint for the request / route / IP address.
at line 1297
Request
setJson(InputBag $json)
Set the JSON payload for the request.
at line 1307
Closure
getUserResolver()
Get the user resolver callback.
at line 1331
static void
setDefaultUserResolver(Closure $callback)
Set the default user resolver callback.
The callback persists for the worker lifetime and applies to every request without an instance-specific user resolver.
at line 1340
Closure
getRouteResolver()
Get the route resolver callback.
at line 1361
array
toArray()
Get all of the input and files for the request.
at line 1369
bool
offsetExists(mixed $offset)
Determine if the given offset exists.
at line 1382
mixed
offsetGet(mixed $offset)
Get the value at the given offset.
at line 1390
void
offsetSet(mixed $offset, mixed $value)
Set the value at the given offset.
at line 1398
void
offsetUnset(mixed $offset)
Remove the value at the given offset.
at line 1406
static void
flushState()
Flush all static state.
at line 1421
bool
__isset(string $key)
Check if an input element is set on the request.
at line 1429
mixed
__get(string $key)
Get an input element from the request.
at line 48
array
validate(array $rules, mixed ...$params)
No description
at line 48
array
validateWithBag(string $errorBag, array $rules, mixed ...$params)
No description
at line 48
bool
hasValidSignature(bool $absolute = 'true')
No description
at line 48
bool
hasValidRelativeSignature()
No description
at line 48
bool
hasValidSignatureWhileIgnoring(mixed $ignoreQuery = '[]', mixed $absolute = 'true')
No description
at line 48
bool
hasValidRelativeSignatureWhileIgnoring(mixed $ignoreQuery = '[]')
No description
at line 48
bool
inertia()
Registered as a macro by Hypervel\Inertia\InertiaServiceProvider.