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|UploadedFile|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 29
abstract array
all(mixed $keys = null)
Retrieve all data from the instance.
in
InteractsWithData at line 34
abstract protected mixed
data(string|null $key = null, mixed $default = null)
Retrieve data from the instance.
in
InteractsWithData at line 39
bool
exists(array|string $key)
Determine if the data contains a given key.
in
InteractsWithData at line 47
bool
has(array|string $key)
Determine if the data contains a given key.
in
InteractsWithData at line 66
bool
hasAny(array|string $keys)
Determine if the instance contains any of the given keys.
in
InteractsWithData at line 85
mixed
whenHas(string $key, callable $callback, callable|null $default = null)
Apply the callback if the instance contains the given key.
in
InteractsWithData at line 101
bool
filled(array|string $key)
Determine if the instance contains a non-empty value for the given key.
in
InteractsWithData at line 118
bool
isNotFilled(array|string $key)
Determine if the instance contains an empty value for the given key.
in
InteractsWithData at line 135
bool
anyFilled(array|string $keys)
Determine if the instance contains a non-empty value for any of the given keys.
in
InteractsWithData at line 159
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 184
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 200
bool
missing(array|string $key)
Determine if the instance is missing a given key.
in
InteractsWithData at line 217
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 233
protected bool
isEmptyString(string $key)
Determine if the given key is an empty string for "filled".
in
InteractsWithData at line 245
Stringable
str(string $key, mixed $default = null)
Retrieve data from the instance as a Stringable instance.
in
InteractsWithData at line 253
Stringable
string(string $key, mixed $default = null)
Retrieve data from the instance as a Stringable instance.
in
InteractsWithData at line 263
bool
boolean(string|null $key = null, bool $default = false)
Retrieve data as a boolean value.
Returns true when value is "1", "true", "on", and "yes". Otherwise, returns false.
in
InteractsWithData at line 271
int
integer(string $key, int $default = 0)
Retrieve data as an integer value.
in
InteractsWithData at line 279
float
float(string $key, float $default = 0.0)
Retrieve data as a float value.
in
InteractsWithData at line 287
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 305
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 323
CarbonInterval|null
interval(string $key, Unit|string|null $unit = null)
Retrieve data from the instance as a CarbonInterval instance.
in
InteractsWithData at line 350
mixed
enum(string $key, string $enumClass, mixed $default = null)
Retrieve data from the instance as an enum.
in
InteractsWithData at line 367
array
enums(string $key, string $enumClass)
Retrieve data from the instance as an array of enums.
in
InteractsWithData at line 382
array
array(array|string|null $key = null)
Retrieve data from the instance as an array.
in
InteractsWithData at line 390
Collection
collect(array|string|null $key = null)
Retrieve data from the instance as a collection.
in
InteractsWithData at line 398
array
only(mixed $keys)
Get a subset containing the provided keys with values from the instance data.
in
InteractsWithData at line 420
array
except(mixed $keys)
Get all of the data except for a specified array of items.
in
InteractsWithInput at line 25
string|array|int|float|null
server(string|null $key = null, string|array|int|float|null $default = null)
Retrieve a server variable from the request.
in
InteractsWithInput at line 33
bool
hasHeader(string $key)
Determine if a header is set on the request.
in
InteractsWithInput at line 41
string|array|null
header(string|null $key = null, string|array|null $default = null)
Retrieve a header from the request.
in
InteractsWithInput at line 49
string|null
bearerToken()
Get the bearer token from the request headers.
in
InteractsWithInput at line 67
array
keys()
Get the keys for all of the input and files.
in
InteractsWithInput at line 97
mixed
input(string|null $key = null, mixed $default = null)
Retrieve an input item from the request.
in
InteractsWithInput at line 109
Fluent
fluent(array|string|null $key = null, array $default = [])
Retrieve input from the request as a Fluent object instance.
in
InteractsWithInput at line 119
string|array|null
query(string|null $key = null, string|array|null $default = null)
Retrieve a query string item from the request.
in
InteractsWithInput at line 127
string|array|null
post(string|null $key = null, string|array|null $default = null)
Retrieve a request payload item from the request.
in
InteractsWithInput at line 135
bool
hasCookie(string $key)
Determine if a cookie is set on the request.
in
InteractsWithInput at line 143
string|array|null
cookie(string|null $key = null, string|array|null $default = null)
Retrieve a cookie from the request.
in
InteractsWithInput at line 153
array
allFiles()
Get an array of all of the files on the request.
in
InteractsWithInput at line 166
protected array
convertUploadedFiles(array $files)
Convert the given array of Symfony UploadedFiles to custom Hypervel UploadedFiles.
in
InteractsWithInput at line 182
bool
hasFile(string $key)
Determine if the uploaded data contains a file.
in
InteractsWithInput at line 201
protected bool
isValidFile(mixed $file)
Check that the given file is a valid file instance.
in
InteractsWithInput at line 211
UploadedFile|array|null
file(string|null $key = null, mixed $default = null)
Retrieve a file from the request.
in
InteractsWithInput at line 219
Image|null
image(string $key)
Retrieve a file from the request as an image instance.
in
InteractsWithInput at line 241
protected string|array|int|float|null
retrieveItem(string $source, string|null $key, string|array|int|float|null $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 28
static void
macro(string $name, callable|object $macro)
Register a custom macro.
Boot-only. Macros persist in a static property for the worker lifetime and apply to every subsequent call on the macroable class.
in
Macroable at line 41
static void
mixin(object $mixin, bool $replace = true)
Mix another object into the class.
Boot-only. Delegates to macro() for each method; registered macros persist in a static property for the worker lifetime.
in
Macroable at line 57
static bool
hasMacro(string $name)
Check if macro is registered.
in
Macroable at line 68
static void
flushMacros()
Flush the existing macros.
Boot or tests only. Clears worker-wide macros; concurrent coroutines may resolve different methods depending on timing.
in
Macroable at line 78
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 103
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 177
__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 210
void
initialize(array $query = [], array $request = [], array $attributes = [], array $cookies = [], array $files = [], array $server = [], $content = null)
Initialize the request data.
at line 232
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 290
string
getPathInfo()
Return the precomputed transport path unless middleware rewrote its URI.
at line 309
static never
createFromGlobals()
Create a new HTTP request from PHP superglobals.
at line 317
static void
setTrustedProxies(array $proxies, int $trustedHeaderSet)
Set the trusted proxies on the current request.
at line 352
static array
getTrustedProxies()
Get the trusted proxies for the current request.
at line 362
static int
getTrustedHeaderSet()
Get the trusted-header bitmask for the current request.
at line 372
static void
setTrustedHosts(array $hostPatterns)
Set the trusted host patterns for the current request.
at line 393
static array
getTrustedHosts()
Get the trusted host patterns for the current request.
at line 405
Request
instance()
Return the Request instance.
at line 413
CarbonImmutable
startedAt()
Get when the server started processing the request.
at line 421
string
method()
Get the request method.
at line 429
Uri
uri()
Get a URI instance for the request.
at line 437
string
root()
Get the root URL for the application.
at line 445
string
url()
Get the URL (no query string) for the request.
at line 453
string
fullUrl()
Get the full URL for the request.
at line 465
string
fullUrlWithQuery(array $query)
Get the full URL for the request with the added query string parameters.
at line 477
string
fullUrlWithoutQuery(array|string $keys)
Get the full URL for the request without the given query string parameters.
at line 491
string
path()
Get the current path info for the request.
at line 501
string
decodedPath()
Get the current decoded path info for the request.
at line 509
string|null
segment(int $index, string|null $default = null)
Get a segment from the URI (1 based index).
at line 517
array
segments()
Get all of the segments for the request path.
at line 529
bool
is(mixed ...$patterns)
Determine if the current request URI matches a pattern.
at line 554
bool
routeIs(mixed ...$patterns)
Determine if the route name matches a given pattern.
at line 562
bool
fullUrlIs(mixed ...$patterns)
Determine if the current request URL and query string match a pattern.
at line 585
string
host()
Get the host name.
at line 593
string
httpHost()
Get the HTTP host being requested.
at line 601
string
schemeAndHttpHost()
Get the scheme and HTTP host.
at line 609
bool
ajax()
Determine if the request is the result of an AJAX call.
at line 617
bool
pjax()
Determine if the request is the result of a PJAX call.
at line 625
bool
prefetch()
Determine if the request is the result of a prefetch call.
at line 635
bool
secure()
Determine if the request is over HTTPS.
at line 643
string|null
ip()
Get the client IP address.
at line 651
array
ips()
Get the client IP addresses.
at line 659
array
getClientIps()
Get the client IP addresses.
at line 674
string
getBaseUrl()
Return the root URL from which this request is executed.
at line 690
int|string|null
getPort()
Return the port on which the request is made.
at line 718
bool
isSecure()
Determine whether the request is secure.
at line 734
string
getHost()
Return the host name.
at line 781
bool
isFromTrustedProxy()
Determine whether this request originated from a trusted proxy.
at line 791
string|null
userAgent()
Get the client user agent.
at line 799
array
getAcceptableContentTypes()
Get the content types accepted by the request.
at line 818
Request
merge(array $input)
Merge new input into the current request's input array.
at line 838
Request
mergeIfMissing(array $input)
Merge new input into the request's input, but only when that key is missing from the request.
at line 852
Request
replace(array $input)
Replace the input values for the current request.
at line 867
mixed
json(string|null $key = null, mixed $default = null)
Get the JSON payload for the request.
at line 885
protected InputBag
getInputSource()
Get the input source for the request.
at line 897
static Request
createFrom(Request $from, Request|null $to = null)
Create a new request instance from the given request.
at line 938
static Request
createFromBase(Request $request)
Create a Hypervel request from a Symfony instance.
at line 967
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 976
void
__clone()
Clone the current request.
at line 989
protected void
copyTrustedStateFrom(Request $from)
Copy trusted request configuration from another request.
at line 1004
protected void
resetTrustedRequestCaches()
Reset the trusted-values cache and one-shot exception flags.
at line 1014
protected string
getBaseUrlReal()
Return the real base URL without the trusted reverse proxy prefix.
at line 1024
protected array
getTrustedValues(int $type, string|null $ip = null)
Parse the trusted forwarded-header values for the requested type.
at line 1101
protected array
normalizeAndFilterClientIps(array $clientIps, string $ip)
Normalize and filter trusted client IPs.
at line 1139
static protected bool
isHostValid(string $host)
Validate a host string per Symfony's URL-spec rules.
at line 1156
protected mixed
filterFiles(mixed $files)
Filter the given array of files, removing any empty values.
at line 1180
bool
hasSession(bool $skipIfUninitialized = false)
Determine if the request has an attached session.
at line 1191
SessionInterface
getSession()
Get the Symfony session decorator for the request.
at line 1206
Session
session()
Get the session associated with the request.
at line 1220
void
setHypervelSession(Session $session)
Set the session instance on the request.
at line 1228
void
setRequestLocale(string $locale)
Set the locale for the request instance.
at line 1236
void
setDefaultRequestLocale(string $locale)
Set the default locale for the request instance.
at line 1244
mixed
user(string|null $guard = null)
Get the user making the request.
at line 1254
mixed
route(string|null $param = null, mixed $default = null)
Get the route handling the request.
at line 1277
string
fingerprint()
Get a unique fingerprint for the request / route / IP address.
at line 1294
Request
setJson(InputBag $json)
Set the JSON payload for the request.
at line 1304
Closure
getUserResolver()
Get the user resolver callback.
at line 1328
static void
setDefaultUserResolver(Closure $callback)
Set the default user resolver callback.
Boot-only. The callback persists for the worker lifetime and applies to every request without an instance-specific user resolver.
at line 1336
Closure
getRouteResolver()
Get the route resolver callback.
at line 1357
array
toArray()
Get all of the input and files for the request.
at line 1365
bool
offsetExists(mixed $offset)
Determine if the given offset exists.
at line 1378
mixed
offsetGet(mixed $offset)
Get the value at the given offset.
at line 1386
void
offsetSet(mixed $offset, mixed $value)
Set the value at the given offset.
at line 1394
void
offsetUnset(mixed $offset)
Remove the value at the given offset.
at line 1402
static void
flushState()
Flush all static state.
at line 1417
bool
__isset(string $key)
Check if an input element is set on the request.
at line 1425
mixed
__get(string $key)
Get an input element from the request.
at line 46
array
validate(array $rules, mixed ...$params)
No description
at line 46
array
validateWithBag(string $errorBag, array $rules, mixed ...$params)
No description
at line 46
bool
hasValidSignature(bool $absolute = 'true')
No description
at line 46
bool
hasValidRelativeSignature()
No description
at line 46
bool
hasValidSignatureWhileIgnoring(mixed $ignoreQuery = '[]', mixed $absolute = 'true')
No description
at line 46
bool
hasValidRelativeSignatureWhileIgnoring(mixed $ignoreQuery = '[]')
No description
at line 46
bool
inertia()
Registered as a macro by Hypervel\Inertia\InertiaServiceProvider.