/home
/flobha
/public_html
/vendor
/symfony
/process
/Process.php
$this->options['bypass_shell'] = true;
$commandline = $this->prepareWindowsCommandLine($commandline, $env);
} elseif (!$this->useFileHandles && $this->enhanceSigchildCompatibility && $this->isSigchildEnabled()) {
// last exit code is output on the fourth pipe and caught to work around --enable-sigchild
$descriptors[3] = array('pipe', 'w');
// See https://unix.stackexchange.com/questions/71205/background-process-pipe-input
$commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;';
$commandline .= 'pid=$!; echo $pid >&3; wait $pid; code=$?; echo $code >&3; exit $code';
// Workaround for the bug, when PTS functionality is enabled.
// @see : https://bugs.php.net/69442
$ptsWorkaround = fopen(__FILE__, 'r');
}
if (!is_dir($this->cwd)) {
@trigger_error('The provided cwd does not exist. Command is currently ran against getcwd(). This behavior is deprecated since version 3.4 and will be removed in 4.0.', E_USER_DEPRECATED);
}
$this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $env, $this->options);
if (!is_resource($this->process)) {
throw new RuntimeException('Unable to launch a new process.');
}
$this->status = self::STATUS_STARTED;
if (isset($descriptors[3])) {
$this->fallbackStatus['pid'] = (int) fgets($this->processPipes->pipes[3]);
}
if ($this->tty) {
return;
}
$this->updateStatus(false);
$this->checkTimeout();
}
/**
* Restarts the process.
Arguments
"Array to string conversion"
/home
/flobha
/public_html
/vendor
/symfony
/process
/Process.php
$this->options['bypass_shell'] = true;
$commandline = $this->prepareWindowsCommandLine($commandline, $env);
} elseif (!$this->useFileHandles && $this->enhanceSigchildCompatibility && $this->isSigchildEnabled()) {
// last exit code is output on the fourth pipe and caught to work around --enable-sigchild
$descriptors[3] = array('pipe', 'w');
// See https://unix.stackexchange.com/questions/71205/background-process-pipe-input
$commandline = '{ ('.$commandline.') <&3 3<&- 3>/dev/null & } 3<&0;';
$commandline .= 'pid=$!; echo $pid >&3; wait $pid; code=$?; echo $code >&3; exit $code';
// Workaround for the bug, when PTS functionality is enabled.
// @see : https://bugs.php.net/69442
$ptsWorkaround = fopen(__FILE__, 'r');
}
if (!is_dir($this->cwd)) {
@trigger_error('The provided cwd does not exist. Command is currently ran against getcwd(). This behavior is deprecated since version 3.4 and will be removed in 4.0.', E_USER_DEPRECATED);
}
$this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $env, $this->options);
if (!is_resource($this->process)) {
throw new RuntimeException('Unable to launch a new process.');
}
$this->status = self::STATUS_STARTED;
if (isset($descriptors[3])) {
$this->fallbackStatus['pid'] = (int) fgets($this->processPipes->pipes[3]);
}
if ($this->tty) {
return;
}
$this->updateStatus(false);
$this->checkTimeout();
}
/**
* Restarts the process.
Arguments
"/usr/local/bin/wkhtmltopdf --lowquality --orientation 'portrait' --page-size 'a4' '/tmp/knp_snappy6605f88c26e549.64410592.html' '/tmp/knp_snappy6605f88c26eda6.62970513.pdf'"
array:3 [
0 => array:2 [
0 => "pipe"
1 => "r"
]
1 => array:2 [
0 => "pipe"
1 => "w"
]
2 => array:2 [
0 => "pipe"
1 => "w"
]
]
array:3 [
0 => Closed resource @304
1 => Closed resource @305
2 => Closed resource @306
]
"/home/flobha/public_html/public"
array:45 [
"USER" => "flobha"
"HOME" => "/home/flobha"
"SCRIPT_NAME" => "/index.php"
"REQUEST_URI" => "/download-pattern/678"
"QUERY_STRING" => ""
"REQUEST_METHOD" => "GET"
"SERVER_PROTOCOL" => "HTTP/1.1"
"GATEWAY_INTERFACE" => "CGI/1.1"
"REDIRECT_URL" => "/download-pattern/678"
"REMOTE_PORT" => "47374"
"SCRIPT_FILENAME" => "/home/flobha/public_html/public/index.php"
"SERVER_ADMIN" => "webmaster@bharatfloorings.com"
"CONTEXT_DOCUMENT_ROOT" => "/home/flobha/public_html/public"
"CONTEXT_PREFIX" => ""
"REQUEST_SCHEME" => "https"
"DOCUMENT_ROOT" => "/home/flobha/public_html/public"
"REMOTE_ADDR" => "44.203.235.24"
"SERVER_PORT" => "443"
"SERVER_ADDR" => "95.216.37.147"
"SERVER_NAME" => "bharatfloorings.com"
"SERVER_SOFTWARE" => "Apache"
"SERVER_SIGNATURE" => ""
"PATH" => "/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin"
"HTTP_X_HTTPS" => "1"
"HTTP_HOST" => "bharatfloorings.com"
"HTTP_USER_AGENT" => "claudebot"
"HTTP_ACCEPT" => "*/*"
"proxy-nokeepalive" => "1"
"SSL_TLS_SNI" => "bharatfloorings.com"
"HTTPS" => "on"
"SCRIPT_URI" => "https://bharatfloorings.com/download-pattern/678"
"SCRIPT_URL" => "/download-pattern/678"
"UNIQUE_ID" => "ZgX4jMp-eJGh_41_mlYWxwAAAAs"
"REDIRECT_STATUS" => "200"
"REDIRECT_SSL_TLS_SNI" => "bharatfloorings.com"
"REDIRECT_HTTPS" => "on"
"REDIRECT_SCRIPT_URI" => "https://bharatfloorings.com/download-pattern/678"
"REDIRECT_SCRIPT_URL" => "/download-pattern/678"
"REDIRECT_UNIQUE_ID" => "ZgX4jMp-eJGh_41_mlYWxwAAAAs"
"FCGI_ROLE" => "RESPONDER"
"PHP_SELF" => "/index.php"
"REQUEST_TIME_FLOAT" => 1711667340.0886
"REQUEST_TIME" => 1711667340
"argv" => []
"argc" => 0
]
array:1 [
"suppress_errors" => true
]
/home
/flobha
/public_html
/vendor
/symfony
/process
/Process.php
*
* The STDOUT and STDERR are also available after the process is finished
* via the getOutput() and getErrorOutput() methods.
*
* @param callable|null $callback A PHP callback to run whenever there is some
* output available on STDOUT or STDERR
* @param array $env An array of additional env vars to set when running the process
*
* @return int The exit status code
*
* @throws RuntimeException When process can't be launched
* @throws RuntimeException When process stopped after receiving signal
* @throws LogicException In case a callback is provided and output has been disabled
*
* @final since version 3.3
*/
public function run($callback = null/*, array $env = array()*/)
{
$env = 1 < func_num_args() ? func_get_arg(1) : null;
$this->start($callback, $env);
return $this->wait();
}
/**
* Runs the process.
*
* This is identical to run() except that an exception is thrown if the process
* exits with a non-zero exit code.
*
* @param callable|null $callback
* @param array $env An array of additional env vars to set when running the process
*
* @return self
*
* @throws RuntimeException if PHP was compiled with --enable-sigchild and the enhanced sigchild compatibility mode is not enabled
* @throws ProcessFailedException if the process didn't terminate successfully
*
* @final since version 3.3
*/
Arguments
/home
/flobha
/public_html
/vendor
/knplabs
/knp-snappy
/src
/Knp
/Snappy
/AbstractGenerator.php
* Executes the given command via shell and returns the complete output as
* a string.
*
* @param string $command
*
* @return array(status, stdout, stderr)
*/
protected function executeCommand($command)
{
if (method_exists(Process::class, 'fromShellCommandline')) {
$process = Process::fromShellCommandline($command, null, $this->env);
} else {
$process = new Process($command, null, $this->env);
}
if (false !== $this->timeout) {
$process->setTimeout($this->timeout);
}
$process->run();
return [
$process->getExitCode(),
$process->getOutput(),
$process->getErrorOutput(),
];
}
/**
* Prepares the specified output.
*
* @param string $filename The output filename
* @param bool $overwrite Whether to overwrite the file if it already
* exist
*
* @throws Exception\FileAlreadyExistsException
* @throws \RuntimeException
* @throws \InvalidArgumentException
*/
protected function prepareOutput($filename, $overwrite)
/home
/flobha
/public_html
/vendor
/knplabs
/knp-snappy
/src
/Knp
/Snappy
/AbstractGenerator.php
if (null === $this->binary) {
throw new \LogicException(
'You must define a binary prior to conversion.'
);
}
$this->prepareOutput($output, $overwrite);
$command = $this->getCommand($input, $output, $options);
$inputFiles = is_array($input) ? implode('", "', $input) : $input;
$this->logger->info(sprintf('Generate from file(s) "%s" to file "%s".', $inputFiles, $output), [
'command' => $command,
'env' => $this->env,
'timeout' => $this->timeout,
]);
try {
list($status, $stdout, $stderr) = $this->executeCommand($command);
$this->checkProcessStatus($status, $stdout, $stderr, $command);
$this->checkOutput($output, $command);
} catch (\Exception $e) { // @TODO: should be replaced by \Throwable when support for php5.6 is dropped
$this->logger->error(sprintf('An error happened while generating "%s".', $output), [
'command' => $command,
'status' => isset($status) ? $status : null,
'stdout' => isset($stdout) ? $stdout : null,
'stderr' => isset($stderr) ? $stderr : null,
]);
throw $e;
}
$this->logger->info(sprintf('File "%s" has been successfully generated.', $output), [
'command' => $command,
'stdout' => $stdout,
'stderr' => $stderr,
]);
}
Arguments
"/usr/local/bin/wkhtmltopdf --lowquality --orientation 'portrait' --page-size 'a4' '/tmp/knp_snappy6605f88c26e549.64410592.html' '/tmp/knp_snappy6605f88c26eda6.62970513.pdf'"
/home
/flobha
/public_html
/vendor
/knplabs
/knp-snappy
/src
/Knp
/Snappy
/Pdf.php
$fetchUrlContent = $option === 'xsl-style-sheet' && $this->isOptionUrl($value);
if ($saveToTempFile || $fetchUrlContent) {
$fileContent = $fetchUrlContent ? file_get_contents($value) : $value;
$options[$option] = $this->createTemporaryFile($fileContent, $this->optionsWithContentCheck[$option]);
}
}
}
return $options;
}
/**
* {@inheritdoc}
*/
public function generate($input, $output, array $options = [], $overwrite = false)
{
$options = $this->handleOptions($this->mergeOptions($options));
parent::generate($input, $output, $options, $overwrite);
}
/**
* Convert option content or url to file if it is needed.
*
* @param $option
*
* @return bool
*/
protected function isOptionUrl($option)
{
return (bool) filter_var($option, FILTER_VALIDATE_URL);
}
/**
* {@inheritdoc}
*/
protected function configure()
{
$this->addOptions([
Arguments
array:1 [
0 => "/tmp/knp_snappy6605f88c26e549.64410592.html"
]
"/tmp/knp_snappy6605f88c26eda6.62970513.pdf"
array:3 [
"lowquality" => true
"orientation" => "portrait"
"page-size" => "a4"
]
false
/home
/flobha
/public_html
/vendor
/knplabs
/knp-snappy
/src
/Knp
/Snappy
/AbstractGenerator.php
$fileNames = [];
if (is_array($html)) {
foreach ($html as $htmlInput) {
$fileNames[] = $this->createTemporaryFile($htmlInput, 'html');
}
} else {
$fileNames[] = $this->createTemporaryFile($html, 'html');
}
$this->generate($fileNames, $output, $options, $overwrite);
}
/**
* {@inheritdoc}
*/
public function getOutput($input, array $options = [])
{
$filename = $this->createTemporaryFile(null, $this->getDefaultExtension());
$this->generate($input, $filename, $options);
$result = $this->getFileContents($filename);
return $result;
}
/**
* {@inheritdoc}
*/
public function getOutputFromHtml($html, array $options = [])
{
$fileNames = [];
if (is_array($html)) {
foreach ($html as $htmlInput) {
$fileNames[] = $this->createTemporaryFile($htmlInput, 'html');
}
} else {
$fileNames[] = $this->createTemporaryFile($html, 'html');
}
Arguments
array:1 [
0 => "/tmp/knp_snappy6605f88c26e549.64410592.html"
]
"/tmp/knp_snappy6605f88c26eda6.62970513.pdf"
array:3 [
"lowquality" => true
"orientation" => "portrait"
"page-size" => "a4"
]
/home
/flobha
/public_html
/vendor
/knplabs
/knp-snappy
/src
/Knp
/Snappy
/AbstractGenerator.php
$result = $this->getFileContents($filename);
return $result;
}
/**
* {@inheritdoc}
*/
public function getOutputFromHtml($html, array $options = [])
{
$fileNames = [];
if (is_array($html)) {
foreach ($html as $htmlInput) {
$fileNames[] = $this->createTemporaryFile($htmlInput, 'html');
}
} else {
$fileNames[] = $this->createTemporaryFile($html, 'html');
}
$result = $this->getOutput($fileNames, $options);
return $result;
}
/**
* Defines the binary.
*
* @param string $binary The path/name of the binary
*/
public function setBinary($binary)
{
$this->binary = $binary;
}
/**
* Returns the binary.
*
* @return string
*/
public function getBinary()
Arguments
array:1 [
0 => "/tmp/knp_snappy6605f88c26e549.64410592.html"
]
[]
/home
/flobha
/public_html
/vendor
/barryvdh
/laravel-snappy
/src
/PdfWrapper.php
* @return $this
*/
public function loadView($view, $data = array(), $mergeData = array())
{
$view = View::make($view, $data, $mergeData);
return $this->loadHTML($view);
}
/**
* Output the PDF as a string.
*
* @return string The rendered PDF as string
* @throws \InvalidArgumentException
*/
public function output()
{
if ($this->html)
{
return $this->snappy->getOutputFromHtml($this->html, $this->options);
}
if ($this->file)
{
return $this->snappy->getOutput($this->file, $this->options);
}
throw new \InvalidArgumentException('PDF Generator requires a html or file in order to produce output.');
}
/**
* Save the PDF to a file
*
* @param $filename
* @return $this
*/
public function save($filename, $overwrite = false)
{
if ($this->html)
Arguments
"""
<!DOCTYPE html>\n
<html lang="en">\n
<head>\n
<meta charset="utf-8">\n
<meta http-equiv="X-UA-Compatible" content="IE=edge">\n
<meta name="viewport" content="width=device-width, initial-scale=1">\n
<meta name="robots" content="noindex">\n
<meta name="csrf-token" content="lOQfRG3G18HN9ySDxmigmKY1X5bVz7nILQ1I5DEK" />\n
<meta name="description" content="The Bharat Floorings Group is the leader in quality cement floorings - a reputation held for 90 years">\n
<meta name="keywords" content="Bharat, Floorings,premium, quality, tiles, civil, contractors, maintenance.">\n
<link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700,900" rel="stylesheet">\n
<!-- <link type="text/css" rel="stylesheet" href="https://bharatfloorings.com/css/website/all.css"> -->\n
<title>WAGASA (JAPAN) - Bharat Floorings & Tiles Pvt. Ltd.</title>\n
<script type="text/javascript">\n
window.bft = {\n
elements: false,\n
};\n
</script>\n
<style>\n
*, ::after, ::before {\n
box-sizing: border-box;\n
}\n
body {\n
overflow-x: hidden;\n
font-size: 1rem;\n
-webkit-font-smoothing: antialiased;\n
-moz-osx-font-smoothing: grayscale;\n
text-rendering: optimizeLegibility;\n
font-family: Roboto,sans-serif;\n
overscroll-behavior-y: none;\n
overscroll-behavior-x: none;\n
}\n
.container {\n
width: 900px;\n
padding-right: 15px;\n
padding-left: 15px;\n
margin-right: auto;\n
margin-left: auto;\n
}\n
.col-md-12 {\n
-ms-flex: 0 0 100%;\n
flex: 0 0 100%;\n
max-width: 100%;\n
}\n
.col-md-7 {\n
-ms-flex: 0 0 58.333333%;\n
flex: 0 0 58.333333%;\n
max-width: 58.333333%;\n
}\n
.ml-auto, .mx-auto {\n
margin-left: auto!important;\n
margin-right: auto!important;\n
}\n
.text-center {\n
text-align: center!important;\n
}\n
.floor_share_print .logo_share {\n
width: 150px;\n
}\n
.img-fluid {\n
max-width: 100%;\n
height: auto;\n
}\n
.floor_share_print h5 {\n
border-bottom: 1px solid #000;\n
padding-bottom: 7px;\n
margin-bottom: 15px;\n
font-size: 1.25rem;\n
font-family: inherit;\n
font-weight: 500;\n
line-height: 1.2;\n
}\n
.floor_share_content p {\n
margin: 0;\n
}\n
.floor_share_print .floor {\n
background: #f6f6f6;\n
margin: 30px auto;\n
text-align: center;\n
padding: 80px;\n
}\n
.grid__item {\n
padding: 1.25rem;\n
}\n
.col-md-12 {\n
-ms-flex: 0 0 100%;\n
flex: 0 0 100%;\n
max-width: 100%;\n
position: relative;\n
width: 100%;\n
min-height: 1px;\n
}\n
.tile-box {\n
background: #f6f6f6;\n
padding: 42px 0;\n
position: relative;\n
text-align: center;\n
clear: both;\n
overflow: hidden;\n
width: 290px;\n
height: 290px;\n
margin: auto;\n
font-size: 0;\n
display: inline-block;\n
transition: box-shadow 1s ease-in-out;\n
box-shadow: 0 0 0 0 rgba(78,84,87,.08);\n
}\n
.grp-tiles {\n
clear: both;\n
overflow: hidden;\n
font-size: 0;\n
text-align: center;\n
max-width: 300px;\n
margin: auto;\n
}\n
.floor .grp-tiles .single-tiles-svg {\n
width: 50%;\n
}\n
.single-tiles-svg {\n
display: inline-block;\n
border-left: 1px solid #fff;\n
border-bottom: 1px solid #fff;\n
cursor: pointer;\n
width: 50%;\n
}\n
.single-tiles-svg svg {\n
width: 144px;\n
height: 144px;\n
}\n
.row {\n
display: -ms-flexbox;\n
display: flex;\n
-ms-flex-wrap: wrap;\n
flex-wrap: wrap;\n
margin-right: -15px;\n
margin-left: -15px;\n
}\n
.col-md-6 {\n
// -ms-flex: 0 0 50%;\n
// flex: 0 0 50%;\n
max-width: 50%;\n
width:50%;\n
float:left;\n
position: relative;\n
min-height: 1px;\n
padding-right: 15px;\n
padding-left: 15px;\n
}\n
.floor_share_print .tiles-used-box {\n
margin-bottom: 30px;\n
}\n
.floor_share_print .tiles-used-box h5 {\n
font-size: 18px;\n
line-height: 26px;\n
color: #000;\n
border-bottom: 1px solid #000;\n
padding-bottom: 7px;\n
margin-bottom: 15px;\n
font-weight: 500;\n
}\n
.floor_share_print .tiles-used-box p {\n
font-size: 18px;\n
line-height: 26px;\n
color: #656565;\n
margin: 0;\n
}\n
.small, small {\n
font-size: 80%;\n
font-weight: 400;\n
}\n
.list-inline {\n
padding-left: 0;\n
list-style: none;\n
}\n
.collection-tiles .list-inline li {\n
margin-top: 10px;\n
width: 46%;\n
}\n
.list-inline-item {\n
display: inline-block;\n
}\n
.list-inline-item:not(:last-child) {\n
margin-right: .5rem;\n
}\n
.collection-tiles .list-inline .color-box {\n
width: 20px;\n
height: 20px;\n
margin-right: 10px;\n
vertical-align: top;\n
display: inline-block;\n
}\n
.collection-tiles .list-inline label {\n
display: inline-block;\n
margin-bottom: 0;\n
width: calc(100% - 35px);\n
font-size: 14px;\n
vertical-align: top;\n
}\n
.floor_share_footer {\n
border-top: 1px solid #656565;\n
padding: 20px;\n
clear:both;\n
}\n
.floor_share_footer p {\n
color: #656565;\n
font-size: 14px;\n
text-align: center;\n
}\n
.rotate-0 {\n
-webkit-transform: rotate(0deg);\n
-moz-transform: rotate(0deg);\n
-o-transform: rotate(0deg);\n
-ms-transform: rotate(0deg);\n
transform: rotate(0deg);\n
}\n
.rotate-60 {\n
-webkit-transform: rotate(60deg);\n
-moz-transform: rotate(60deg);\n
-o-transform: rotate(60deg);\n
-ms-transform: rotate(60deg);\n
transform: rotate(60deg);\n
}\n
.rotate-90 {\n
-webkit-transform: rotate(90deg);\n
-moz-transform: rotate(90deg);\n
-o-transform: rotate(90deg);\n
-ms-transform: rotate(90deg);\n
transform: rotate(90deg);\n
}\n
.rotate-120 {\n
-webkit-transform: rotate(120deg);\n
-moz-transform: rotate(120deg);\n
-o-transform: rotate(120deg);\n
-ms-transform: rotate(120deg);\n
transform: rotate(120deg);\n
}\n
.rotate-180 {\n
-webkit-transform: rotate(180deg);\n
-moz-transform: rotate(180deg);\n
-o-transform: rotate(180deg);\n
-ms-transform: rotate(180deg);\n
transform: rotate(180deg);\n
}\n
.rotate-240 {\n
-webkit-transform: rotate(240deg);\n
-moz-transform: rotate(240deg);\n
-o-transform: rotate(240deg);\n
-ms-transform: rotate(240deg);\n
transform: rotate(240deg);\n
}\n
.rotate-270 {\n
-webkit-transform: rotate(270deg);\n
-moz-transform: rotate(270deg);\n
-o-transform: rotate(270deg);\n
-ms-transform: rotate(270deg);\n
transform: rotate(270deg);\n
}\n
.rotate-300 {\n
-webkit-transform: rotate(300deg);\n
-moz-transform: rotate(300deg);\n
-o-transform: rotate(300deg);\n
-ms-transform: rotate(300deg);\n
transform: rotate(300deg);\n
}\n
.floor-container {\n
width: 600px;\n
height: 618px;\n
overflow: auto;\n
margin-bottom: 30px;\n
}\n
.floor-tiles {\n
font-size: 0;\n
width: 600px;\n
position: relative;\n
margin: auto;\n
}\n
.floor-box {\n
position: relative;\n
height: auto;\n
overflow: hidden;\n
}\n
.floor-box .border-tiles-content:before {\n
content: "Border";\n
font-size: 12px;\n
position: absolute;\n
color: gray;\n
left: 20px;\n
top: 15px;\n
}\n
.floor-box .indoor-tiles-content {\n
position: absolute;\n
top: 0px;\n
margin: 50px;\n
width: 500px;\n
height: 500px;\n
background: #fff;\n
}\n
.floor-tiles .indoor-tiles {\n
display: inline-block;\n
width: 50px;\n
height: 50px;\n
background: #dcdcdc;\n
border-right: 1px solid #a9a9a9;\n
border-bottom: 1px solid #a9a9a9;\n
}\n
.floor-box .indoor-hexagon-tiles-content {\n
position: absolute;\n
top: 0px;\n
margin: 50px;\n
width: 500px;\n
height: 500px;\n
background: #fff;\n
overflow: hidden;\n
}\n
.floor-box .indoor-hexagon-tiles-content-even {\n
position: relative;\n
left: -38px;\n
top: -13px;\n
white-space: nowrap;\n
}\n
.floor-box .indoor-hexagon-tiles-content-odd {\n
position: relative;\n
margin-top: -27px;\n
margin-left: -13px;\n
white-space: nowrap;\n
}\n
.floor-tiles .indoor-hexagon-tiles {\n
display: inline-block;\n
width: 50px;\n
height: 57.71px;\n
margin: 1px 0.5px 0 0.5px;\n
}\n
.floor-tiles .indoor-hexagon-tiles-content-even .indoor-hexagon-tiles {\n
margin: 0px 0.5px 0px 0.5px;\n
}\n
\n
.floor-tiles .indoor-tiles svg,\n
.floor-tiles .border-tiles svg {\n
width: 100%;\n
height: 100%;\n
}\n
.floor-tiles .border-tiles {\n
background: #d2d2d2;\n
display: inline-block;\n
width: 50px;\n
height: 50px;\n
border-right: 1px solid #a9a9a9;\n
border-bottom: 1px solid #a9a9a9;\n
vertical-align: top;\n
line-height: 50px;\n
}\n
.floor-tiles .not-border-tiles {\n
background: #fff;\n
display: inline-block;\n
width: 50px;\n
height: 50px;\n
border-right: 1px solid #a9a9a9;\n
border-bottom: 1px solid #a9a9a9;\n
}\n
.floor-tiles .border-tiles.vertical-ending {\n
border-right: 0;\n
}\n
.floor-tiles .border-tiles.horizontal-ending {\n
border-bottom: 0;\n
}\n
.single-tiles-collection-hexagon-svg {\n
display: inline-block;\n
border-left: 0;\n
border-bottom: 0;\n
cursor: pointer;\n
width: 204px;\n
line-height: 0;\n
height: 204px;\n
}\n
.tiles-hexagon-pattern {\n
overflow: hidden;\n
height: 204px;\n
}\n
.tile-row {\n
white-space: nowrap;\n
height: 101px;\n
font-size: 0;\n
}\n
.tile-row .tile-col {\n
width: 84px;\n
height: 96px;\n
display: inline-block;\n
}\n
.tile-row .tile-col svg {\n
width: 84px;\n
height: 97px;\n
}\n
.tile-row:nth-child(odd){\n
margin-left: -47px;\n
margin-top: -29px;\n
}\n
.tile-row:nth-child(1){\n
margin-top: -73px;\n
}\n
.tile-row:nth-child(even) {\n
margin-left: -89px;\n
margin-top: -29px;\n
}\n
.tiles-background {\n
white-space: nowrap;\n
height: 206px;\n
font-size: 0;\n
}\n
.tiles-background-hexagon {\n
margin-top: -54px;\n
margin-left: -88px;\n
height: 204px;\n
}\n
.tiles-background-hexagon:nth-child(even){\n
margin-top: -51px;\n
margin-left: 0px;\n
}\n
.pattern-watermark {\n
position: absolute;\n
top: 49%;\n
left: 50%;\n
/*left: 80px;*/\n
-webkit-transform: translate(-50%, -50%);\n
-ms-transform: translate(-50%, -50%);\n
transform: translate(-50%, -50%);\n
text-align: center;\n
z-index: 1;\n
opacity: 0.8;\n
}\n
</style>\n
</head>\n
<body>\n
<div class="container floor_share_print">\n
<div class="col-md-12 mx-auto">\n
<p class="text-center">\n
<a href="https://bharatfloorings.com" title="Bharat Floorings & Tiles Pvt. Ltd.">\n
<img src="https://bharatfloorings.com/img/BFT_logo_name.svg" class="img-fluid logo_share" alt="Bharat Floorings & Tiles Pvt. Ltd." />\n
</a>\n
</p>\n
<div class="floor_share_content">\n
<h5>Pattern created on www.bharatfloorings.com</h5>\n
<p>Pattern Name: WAGASA (JAPAN)</p>\n
<p>Collection Name: International Range</p>\n
</div>\n
<div class="floor">\n
<div class="pattern-watermark">\n
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="100px" height="100px" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd"\n
viewBox="0 0 100 100"\n
xmlns:xlink="http://www.w3.org/1999/xlink">\n
<g id="Layer_x0020_1">\n
<metadata id="CorelCorpID_0Corel-Layer"/>\n
<g id="_181987400">\n
<path id="_181988216" fill="#ffffff" fill-rule="nonzero" d="M38.8952 88.8409l-1.03938 0.809061c-0.118111,0.0944889 -0.230317,0.103938 -0.333073,-0.01063l-0.278742 -0.307089c-0.0897645,-0.108662 -0.0354333,-0.243309 0.0342522,-0.3189l2.03269 -1.96419 0.387405 0c0.139371,0 0.261026,0.131103 0.261026,0.269293l0 9.29535c0,0.150001 -0.121655,0.284648 -0.261026,0.284648l-0.526776 0c-0.155907,0 -0.27638,-0.134647 -0.27638,-0.284648l0 -7.7729z"/>\n
<path id="_181988144" fill="#ffffff" fill-rule="nonzero" d="M47.4819 91.3968c0.252758,-1.45867 -0.317719,-3.62247 -2.2949,-3.62247 -1.22245,0 -2.17679,1.05237 -2.17679,2.29962 0,1.25316 0.973236,2.26301 2.18742,2.26301 1.34647,0 2.28427,-0.940165 2.28427,-0.940165zm-3.90357 4.83311c0.649611,-0.219687 3.21617,-1.65474 3.71696,-3.6083 0,0 -0.953157,0.655517 -2.19923,0.655517 -1.63702,0 -3.11459,-1.21655 -3.11459,-3.13821 0,-1.8319 1.46458,-3.32247 3.20554,-3.32247 2.3386,0 3.37089,1.82364 3.37089,4.12208 0,3.85042 -3.30239,5.62327 -4.76579,6.20084 -0.146458,0.0543311 -0.263388,-0.0118111 -0.311813,-0.141733l-0.158269 -0.349609c-0.0779534,-0.172442 -0.02126,-0.32953 0.256301,-0.418114z"/>\n
<path id="_181988072" fill="#ffffff" fill-rule="nonzero" d="M49.935 96.1862c1.18465,-1.27442 2.35986,-2.56892 3.5457,-3.83507 0.982685,-1.07245 1.46222,-1.94293 1.46222,-2.62443 0,-0.827959 -0.539768,-1.84017 -2.03033,-1.84017 -0.894102,0 -1.60277,0.60591 -2.05395,1.08544 -0.11693,0.11693 -0.27638,0.11693 -0.39331,0l-0.288191 -0.27638c-0.0897645,-0.0885834 -0.108662,-0.252758 -0.0141733,-0.370869 0,0 1.02757,-1.4197 2.74963,-1.4197 2.07167,0 3.12758,1.30867 3.12758,2.79097 0,1.27324 -0.809061,2.20986 -1.81064,3.28349 -0.930716,0.992134 -1.84962,1.99254 -2.77679,2.96459l4.25909 0c0.140552,0 0.27638,0.137009 0.27638,0.283467l0 0.387405c0,0.144096 -0.135828,0.277561 -0.27638,0.277561l-5.5028 0c-0.160631,0 -0.274018,-0.133466 -0.274018,-0.277561l0 -0.428744z"/>\n
<path id="_181988000" fill="#ffffff" fill-rule="nonzero" d="M57.3796 96.1862c1.19174,-1.27442 2.3634,-2.56892 3.5516,-3.83507 0.982685,-1.07245 1.46104,-1.94293 1.46104,-2.62443 0,-0.827959 -0.538587,-1.84017 -2.02915,-1.84017 -0.897645,0 -1.60395,0.60591 -2.05986,1.08544 -0.112206,0.11693 -0.270475,0.11693 -0.390948,0l-0.28701 -0.27638c-0.0874023,-0.0885834 -0.112206,-0.252758 -0.0118111,-0.370869 0,0 1.02875,-1.4197 2.74963,-1.4197 2.06931,0 3.12758,1.30867 3.12758,2.79097 0,1.27324 -0.810243,2.20986 -1.81301,3.28349 -0.928354,0.992134 -1.8508,1.99254 -2.77797,2.96459l4.25673 0c0.145277,0 0.278742,0.137009 0.278742,0.283467l0 0.387405c0,0.144096 -0.133466,0.277561 -0.278742,0.277561l-5.49689 0c-0.161812,0 -0.279923,-0.133466 -0.279923,-0.277561l0 -0.428744z"/>\n
<path id="_181987928" fill="#ffffff" fill-rule="nonzero" d="M37.0243 72.1234c0,-0.132285 0.108662,-0.251577 0.253939,-0.251577l5.2276 0c0.145277,0 0.251577,0.119292 0.251577,0.251577l0 0.390948c0,0.126379 -0.1063,0.252758 -0.251577,0.252758l-4.45988 0 0 3.2327 3.81027 0c0.134647,0 0.257482,0.118111 0.257482,0.249215l0 0.389767c0,0.14882 -0.122836,0.249215 -0.257482,0.249215l-3.81027 0 0 3.39097 4.45988 0c0.145277,0 0.251577,0.120473 0.251577,0.249215l0 0.389767c0,0.132285 -0.1063,0.249215 -0.251577,0.249215l-5.2276 0c-0.145277,0 -0.253939,-0.11693 -0.253939,-0.249215l0 -8.79456z"/>\n
<path id="_181987856" fill="#ffffff" fill-rule="nonzero" d="M44.02 79.777c0.0720478,-0.0814967 0.131103,-0.175986 0.200789,-0.25512 0.132285,-0.172442 0.282286,-0.278742 0.460634,-0.119292 0.0968512,0.0791345 1.06772,1.01103 2.25002,1.01103 1.07363,0 1.77403,-0.68032 1.77403,-1.4634 0,-0.916543 -0.79725,-1.46458 -2.3197,-2.09647 -1.45631,-0.638981 -2.3386,-1.24017 -2.3386,-2.74608 0,-0.907094 0.708667,-2.36931 2.8264,-2.36931 1.31222,0 2.27364,0.676777 2.27364,0.676777 0.0755911,0.0401578 0.231498,0.199608 0.0755911,0.45709 -0.0496067,0.0685045 -0.107481,0.167718 -0.161812,0.246852 -0.115749,0.187797 -0.251577,0.243309 -0.455909,0.120473 -0.0992134,-0.05315 -0.937803,-0.617721 -1.74686,-0.617721 -1.4008,0 -1.83427,0.910637 -1.83427,1.46812 0,0.889377 0.682683,1.4008 1.79529,1.87561 1.79529,0.727565 2.94687,1.40198 2.94687,2.94569 0,1.3819 -1.31222,2.38821 -2.86538,2.38821 -1.56143,0 -2.62561,-0.917724 -2.79687,-1.07599 -0.114568,-0.0885834 -0.24449,-0.196065 -0.0838589,-0.44646z"/>\n
<path id="_181987784" fill="#ffffff" fill-rule="nonzero" d="M52.739 72.7707l-2.30789 0c-0.145277,0 -0.25512,-0.129922 -0.25512,-0.256301l0 -0.392129c0,-0.131103 0.109843,-0.250396 0.25512,-0.250396l5.63154 0c0.142915,0 0.248033,0.119292 0.248033,0.250396l0 0.392129c0,0.126379 -0.105119,0.256301 -0.248033,0.256301l-2.3138 0 0 8.14731c0,0.132285 -0.115749,0.245671 -0.249215,0.245671l-0.51024 0c-0.128741,0 -0.250396,-0.113387 -0.250396,-0.245671l0 -8.14731z"/>\n
<path id="_181987712" fill="#ffffff" fill-rule="nonzero" d="M59.8977 77.827c1.45277,0 2.50396,-1.06891 2.50396,-2.52049 0,-1.45159 -1.05119,-2.50159 -2.50396,-2.50159l-1.2945 0 0 5.02209 1.2945 0zm-2.29608 -5.76382c0,-0.101576 0.0755911,-0.192521 0.173623,-0.192521l2.26183 0c1.89923,0 3.45357,1.5508 3.45357,3.43585 0,1.91104 -1.55434,3.45357 -3.45357,3.45357l-2.26183 0c-0.0980323,0 -0.173623,-0.0897645 -0.173623,-0.186616l0 -6.51029z"/>\n
<polygon id="_181987640" fill="#ffffff" fill-rule="nonzero" points="63.4895,81.1672 57.6005,81.1672 57.6005,80.325 63.4895,80.325 "/>\n
<path id="_181987568" fill="#ffffff" fill-rule="nonzero" d="M19.3183 55.0563c0,-0.852763 -0.328349,-1.52009 -0.976779,-2.01261 -0.657879,-0.504335 -1.70671,-0.751187 -3.16184,-0.751187l-6.47722 0 0 5.59965 6.65556 0c1.23781,0 2.20159,-0.219687 2.90553,-0.676777 0.714573,-0.442917 1.05473,-1.14686 1.05473,-2.08939l0 -0.0696856zm-1.41379 -10.1835c0,-0.843314 -0.315357,-1.4882 -0.948433,-1.9382 -0.624808,-0.454728 -1.54135,-0.675596 -2.72601,-0.675596l-5.5276 0 0 5.38233 5.16618 0c1.23426,0 2.2134,-0.216143 2.94451,-0.636619 0.724021,-0.427562 1.09135,-1.11261 1.09135,-2.05986l0 -0.0720478zm6.2717 14.0044c-0.452366,0.87166 -1.08544,1.5945 -1.92521,2.17561 -0.837408,0.582288 -1.84017,1.02048 -3.00475,1.31694 -1.17402,0.290553 -2.48388,0.428744 -3.90239,0.428744l-12.0946 0 0 -25.4435 11.7993 0c2.61144,0 4.66067,0.592918 6.14887,1.78112 1.48702,1.18465 2.22758,2.78388 2.22758,4.79649l0 0.0696856c0,0.73347 -0.0791345,1.36773 -0.268112,1.92049 -0.178348,0.562209 -0.416932,1.06891 -0.716935,1.51891 -0.302365,0.448822 -0.656698,0.837408 -1.04765,1.17875 -0.394491,0.338979 -0.822054,0.630714 -1.2756,0.874023 1.47285,0.555122 2.62325,1.3134 3.46774,2.27364 0.843314,0.961425 1.26379,2.28427 1.26379,3.97798l0 0.0732289c0,1.16694 -0.222049,2.18033 -0.672053,3.0579z"/>\n
<polygon id="_181987496" fill="#ffffff" fill-rule="nonzero" points="89.6688,42.5177 89.6688,62.8009 84.0656,62.8009 84.0656,42.5177 76.3293,42.5177 76.3293,37.3538 97.411,37.3538 97.411,42.5177 "/>\n
<polygon id="_181986224" fill="#ffffff" fill-rule="nonzero" points="46.2488,8.07998 46.2488,13.4966 58.3823,13.4966 58.3823,18.5872 46.2488,18.5872 46.2488,28.44 40.6456,28.44 40.6456,2.99176 60.0241,2.99176 60.0241,8.07998 "/>\n
<polygon id="_181986416" fill="#ffffff" fill-rule="nonzero" points="97.6874,2.99294 2.99057,97.6838 2.3138,97.0082 97.0082,2.31498 "/>\n
<polygon id="_181986632" fill="#ffffff" fill-rule="nonzero" points="97.6874,97.0082 97.0082,97.685 2.3138,2.99176 2.99057,2.31734 "/>\n
<polygon id="_181986656" fill="#ffffff" fill-rule="nonzero" points="53.6803,53.678 46.3197,53.678 46.3197,46.3173 53.6803,46.3173 "/>\n
</g>\n
</g>\n
</svg>\n
</div>\n
<div class="col-md-12 grid__item pattern-container" data-name="Japan14">\n
<div class="tiles-overlay">\n
<div class="tiles-overlay-bg">\n
<div class="tile-box" style="height: auto;">\n
<div class="grp-tiles">\n
<div class="single-tiles-svg top-left-tile no-cursor">\n
<svg width="100" height="100" viewBox="0 0 529 529" fill="none" xmlns="http://www.w3.org/2000/svg" class="" transform="rotate(0)" style="vertical-align: top;"><g clip-path="url(#clip0)"><path d="M529.49 -0.160034H0.490234V528.84H529.49V-0.160034Z" fill="#4d8284" class="tile-element" data-element="1"></path><path d="M371.81 371.37C367.33 375.85 367.33 383.1 371.81 387.58L423.09 438.84C389.81 428.02 361.79 434.74 340.06 446.86C306.17 411.16 316.66 317.67 316.66 317.67C316.66 317.67 411.64 305.75 447.34 339.63C435.22 361.35 428.49 389.35 439.3 422.61L388.03 371.36C383.55 366.88 376.3 366.88 371.81 371.37Z" fill="#e3a048" class="tile-element" data-element="2" data-connected="element_2"></path><path d="M529.48 237.06V512.75L491.06 474.34C486.59 469.87 479.33 469.87 474.84 474.34C470.37 478.82 470.37 486.09 474.84 490.56L513.25 528.95H238.14C245.43 527.48 282.49 505.29 288.82 495.51C292.48 489.86 310.43 463.36 340.06 446.85C361.79 434.73 389.81 428.01 423.08 438.83C426.12 439.82 429.2 440.95 432.34 442.24C438.58 444.82 445.02 448.02 451.62 451.92C453.69 453.46 455.66 455.16 457.52 457.03C455.65 455.16 453.95 453.19 452.41 451.12C448.52 444.53 445.3 438.1 442.72 431.87C441.43 428.73 440.29 425.65 439.3 422.61C428.49 389.35 435.22 361.35 447.34 339.63C463.85 310 490.36 292.05 496.02 288.4C505.63 282.18 527.29 245.37 529.48 237.06Z" fill="#eaba79" class="tile-element" data-element="3" data-connected="element_3"></path><path d="M158.15 157.55C162.63 153.07 162.63 145.82 158.15 141.34L106.87 90.0801C140.15 100.9 168.17 94.1801 189.9 82.0601C223.79 117.76 213.3 211.25 213.3 211.25C213.3 211.25 118.32 223.17 82.6201 189.29C94.7401 167.57 101.47 139.57 90.6501 106.31L141.93 157.56C146.41 162.03 153.67 162.03 158.15 157.55Z" fill="#e3a048" class="tile-element" data-element="4" data-connected="element_2"></path><path d="M0.47998 291.86V16.17L38.9 54.57C43.37 59.04 50.63 59.04 55.12 54.57C59.59 50.09 59.59 42.82 55.12 38.35L16.71 -0.0400391H291.82C284.53 1.43996 247.47 23.62 241.14 33.4C237.48 39.05 219.53 65.55 189.9 82.06C168.16 94.18 140.15 100.9 106.87 90.08C103.83 89.09 100.75 87.96 97.62 86.67C91.37 84.09 84.94 80.88 78.34 76.98C76.27 75.44 74.3 73.75 72.44 71.87C74.31 73.74 76.01 75.71 77.55 77.78C81.44 84.37 84.66 90.8 87.24 97.04C88.53 100.17 89.67 103.26 90.66 106.3C101.47 139.56 94.74 167.56 82.62 189.29C66.11 218.91 39.6 236.87 33.94 240.52C24.33 246.73 2.67998 283.54 0.47998 291.86Z" fill="#eaba79" class="tile-element" data-element="5" data-connected="element_3"></path><path d="M529.48 14.37L447.97 95.84Z" fill="#E1A04C" class=""></path><path d="M114.765 429.853C119.078 425.54 119.078 418.548 114.765 414.235C110.452 409.922 103.46 409.922 99.1469 414.235L4.23469 509.147C2.88521 510.496 1.50499 512.108 1 513.818V528H15.1818C16.8918 527.495 18.5037 526.115 19.8531 524.765L114.765 429.853Z" fill="#df9990" class="tile-element" data-element="7" data-connected="element_7"></path><path d="M415.235 98.1468C410.922 102.46 410.922 109.452 415.235 113.765C419.548 118.078 426.54 118.078 430.853 113.765L525.765 18.8531C527.115 17.5037 528.495 15.8918 529 14.1818L529 1.23981e-06L514.818 0C513.108 0.504999 511.496 1.88518 510.147 3.23471L415.235 98.1468Z" fill="#df9990" class="tile-element" data-element="8" data-connected="element_7"></path></g><defs><clipPath id="clip0"><rect width="529" height="529" fill="white"></rect></clipPath></defs></svg>\n
</div>\n
<div class="single-tiles-svg top-right-tile no-cursor">\n
<svg width="100" height="100" viewBox="0 0 529 529" fill="none" xmlns="http://www.w3.org/2000/svg" class="" transform="rotate(90)" style="vertical-align: top;"><g clip-path="url(#clip0)"><path d="M529.49 -0.160034H0.490234V528.84H529.49V-0.160034Z" fill="#4d8284" class="tile-element" data-element="1"></path><path d="M371.81 371.37C367.33 375.85 367.33 383.1 371.81 387.58L423.09 438.84C389.81 428.02 361.79 434.74 340.06 446.86C306.17 411.16 316.66 317.67 316.66 317.67C316.66 317.67 411.64 305.75 447.34 339.63C435.22 361.35 428.49 389.35 439.3 422.61L388.03 371.36C383.55 366.88 376.3 366.88 371.81 371.37Z" fill="#e3a048" class="tile-element" data-element="2" data-connected="element_2"></path><path d="M529.48 237.06V512.75L491.06 474.34C486.59 469.87 479.33 469.87 474.84 474.34C470.37 478.82 470.37 486.09 474.84 490.56L513.25 528.95H238.14C245.43 527.48 282.49 505.29 288.82 495.51C292.48 489.86 310.43 463.36 340.06 446.85C361.79 434.73 389.81 428.01 423.08 438.83C426.12 439.82 429.2 440.95 432.34 442.24C438.58 444.82 445.02 448.02 451.62 451.92C453.69 453.46 455.66 455.16 457.52 457.03C455.65 455.16 453.95 453.19 452.41 451.12C448.52 444.53 445.3 438.1 442.72 431.87C441.43 428.73 440.29 425.65 439.3 422.61C428.49 389.35 435.22 361.35 447.34 339.63C463.85 310 490.36 292.05 496.02 288.4C505.63 282.18 527.29 245.37 529.48 237.06Z" fill="#eaba79" class="tile-element" data-element="3" data-connected="element_3"></path><path d="M158.15 157.55C162.63 153.07 162.63 145.82 158.15 141.34L106.87 90.0801C140.15 100.9 168.17 94.1801 189.9 82.0601C223.79 117.76 213.3 211.25 213.3 211.25C213.3 211.25 118.32 223.17 82.6201 189.29C94.7401 167.57 101.47 139.57 90.6501 106.31L141.93 157.56C146.41 162.03 153.67 162.03 158.15 157.55Z" fill="#e3a048" class="tile-element" data-element="4" data-connected="element_2"></path><path d="M0.47998 291.86V16.17L38.9 54.57C43.37 59.04 50.63 59.04 55.12 54.57C59.59 50.09 59.59 42.82 55.12 38.35L16.71 -0.0400391H291.82C284.53 1.43996 247.47 23.62 241.14 33.4C237.48 39.05 219.53 65.55 189.9 82.06C168.16 94.18 140.15 100.9 106.87 90.08C103.83 89.09 100.75 87.96 97.62 86.67C91.37 84.09 84.94 80.88 78.34 76.98C76.27 75.44 74.3 73.75 72.44 71.87C74.31 73.74 76.01 75.71 77.55 77.78C81.44 84.37 84.66 90.8 87.24 97.04C88.53 100.17 89.67 103.26 90.66 106.3C101.47 139.56 94.74 167.56 82.62 189.29C66.11 218.91 39.6 236.87 33.94 240.52C24.33 246.73 2.67998 283.54 0.47998 291.86Z" fill="#eaba79" class="tile-element" data-element="5" data-connected="element_3"></path><path d="M529.48 14.37L447.97 95.84Z" fill="#E1A04C" class=""></path><path d="M114.765 429.853C119.078 425.54 119.078 418.548 114.765 414.235C110.452 409.922 103.46 409.922 99.1469 414.235L4.23469 509.147C2.88521 510.496 1.50499 512.108 1 513.818V528H15.1818C16.8918 527.495 18.5037 526.115 19.8531 524.765L114.765 429.853Z" fill="#df9990" class="tile-element" data-element="7" data-connected="element_7"></path><path d="M415.235 98.1468C410.922 102.46 410.922 109.452 415.235 113.765C419.548 118.078 426.54 118.078 430.853 113.765L525.765 18.8531C527.115 17.5037 528.495 15.8918 529 14.1818L529 1.23981e-06L514.818 0C513.108 0.504999 511.496 1.88518 510.147 3.23471L415.235 98.1468Z" fill="#df9990" class="tile-element" data-element="8" data-connected="element_7"></path></g><defs><clipPath id="clip0"><rect width="529" height="529" fill="white"></rect></clipPath></defs></svg>\n
</div>\n
<div class="single-tiles-svg bottom-left-tile no-cursor">\n
<svg width="100" height="100" viewBox="0 0 529 529" fill="none" xmlns="http://www.w3.org/2000/svg" class="" transform="rotate(270)" style="vertical-align: top;"><g clip-path="url(#clip0)"><path d="M529.49 -0.160034H0.490234V528.84H529.49V-0.160034Z" fill="#4d8284" class="tile-element" data-element="1"></path><path d="M371.81 371.37C367.33 375.85 367.33 383.1 371.81 387.58L423.09 438.84C389.81 428.02 361.79 434.74 340.06 446.86C306.17 411.16 316.66 317.67 316.66 317.67C316.66 317.67 411.64 305.75 447.34 339.63C435.22 361.35 428.49 389.35 439.3 422.61L388.03 371.36C383.55 366.88 376.3 366.88 371.81 371.37Z" fill="#e3a048" class="tile-element" data-element="2" data-connected="element_2"></path><path d="M529.48 237.06V512.75L491.06 474.34C486.59 469.87 479.33 469.87 474.84 474.34C470.37 478.82 470.37 486.09 474.84 490.56L513.25 528.95H238.14C245.43 527.48 282.49 505.29 288.82 495.51C292.48 489.86 310.43 463.36 340.06 446.85C361.79 434.73 389.81 428.01 423.08 438.83C426.12 439.82 429.2 440.95 432.34 442.24C438.58 444.82 445.02 448.02 451.62 451.92C453.69 453.46 455.66 455.16 457.52 457.03C455.65 455.16 453.95 453.19 452.41 451.12C448.52 444.53 445.3 438.1 442.72 431.87C441.43 428.73 440.29 425.65 439.3 422.61C428.49 389.35 435.22 361.35 447.34 339.63C463.85 310 490.36 292.05 496.02 288.4C505.63 282.18 527.29 245.37 529.48 237.06Z" fill="#eaba79" class="tile-element" data-element="3" data-connected="element_3"></path><path d="M158.15 157.55C162.63 153.07 162.63 145.82 158.15 141.34L106.87 90.0801C140.15 100.9 168.17 94.1801 189.9 82.0601C223.79 117.76 213.3 211.25 213.3 211.25C213.3 211.25 118.32 223.17 82.6201 189.29C94.7401 167.57 101.47 139.57 90.6501 106.31L141.93 157.56C146.41 162.03 153.67 162.03 158.15 157.55Z" fill="#e3a048" class="tile-element" data-element="4" data-connected="element_2"></path><path d="M0.47998 291.86V16.17L38.9 54.57C43.37 59.04 50.63 59.04 55.12 54.57C59.59 50.09 59.59 42.82 55.12 38.35L16.71 -0.0400391H291.82C284.53 1.43996 247.47 23.62 241.14 33.4C237.48 39.05 219.53 65.55 189.9 82.06C168.16 94.18 140.15 100.9 106.87 90.08C103.83 89.09 100.75 87.96 97.62 86.67C91.37 84.09 84.94 80.88 78.34 76.98C76.27 75.44 74.3 73.75 72.44 71.87C74.31 73.74 76.01 75.71 77.55 77.78C81.44 84.37 84.66 90.8 87.24 97.04C88.53 100.17 89.67 103.26 90.66 106.3C101.47 139.56 94.74 167.56 82.62 189.29C66.11 218.91 39.6 236.87 33.94 240.52C24.33 246.73 2.67998 283.54 0.47998 291.86Z" fill="#eaba79" class="tile-element" data-element="5" data-connected="element_3"></path><path d="M529.48 14.37L447.97 95.84Z" fill="#E1A04C" class=""></path><path d="M114.765 429.853C119.078 425.54 119.078 418.548 114.765 414.235C110.452 409.922 103.46 409.922 99.1469 414.235L4.23469 509.147C2.88521 510.496 1.50499 512.108 1 513.818V528H15.1818C16.8918 527.495 18.5037 526.115 19.8531 524.765L114.765 429.853Z" fill="#df9990" class="tile-element" data-element="7" data-connected="element_7"></path><path d="M415.235 98.1468C410.922 102.46 410.922 109.452 415.235 113.765C419.548 118.078 426.54 118.078 430.853 113.765L525.765 18.8531C527.115 17.5037 528.495 15.8918 529 14.1818L529 1.23981e-06L514.818 0C513.108 0.504999 511.496 1.88518 510.147 3.23471L415.235 98.1468Z" fill="#df9990" class="tile-element" data-element="8" data-connected="element_7"></path></g><defs><clipPath id="clip0"><rect width="529" height="529" fill="white"></rect></clipPath></defs></svg>\n
</div>\n
<div class="single-tiles-svg bottom-right-tile no-cursor">\n
<svg width="100" height="100" viewBox="0 0 529 529" fill="none" xmlns="http://www.w3.org/2000/svg" class="" transform="rotate(180)" style="vertical-align: top;"><g clip-path="url(#clip0)"><path d="M529.49 -0.160034H0.490234V528.84H529.49V-0.160034Z" fill="#4d8284" class="tile-element" data-element="1"></path><path d="M371.81 371.37C367.33 375.85 367.33 383.1 371.81 387.58L423.09 438.84C389.81 428.02 361.79 434.74 340.06 446.86C306.17 411.16 316.66 317.67 316.66 317.67C316.66 317.67 411.64 305.75 447.34 339.63C435.22 361.35 428.49 389.35 439.3 422.61L388.03 371.36C383.55 366.88 376.3 366.88 371.81 371.37Z" fill="#e3a048" class="tile-element" data-element="2" data-connected="element_2"></path><path d="M529.48 237.06V512.75L491.06 474.34C486.59 469.87 479.33 469.87 474.84 474.34C470.37 478.82 470.37 486.09 474.84 490.56L513.25 528.95H238.14C245.43 527.48 282.49 505.29 288.82 495.51C292.48 489.86 310.43 463.36 340.06 446.85C361.79 434.73 389.81 428.01 423.08 438.83C426.12 439.82 429.2 440.95 432.34 442.24C438.58 444.82 445.02 448.02 451.62 451.92C453.69 453.46 455.66 455.16 457.52 457.03C455.65 455.16 453.95 453.19 452.41 451.12C448.52 444.53 445.3 438.1 442.72 431.87C441.43 428.73 440.29 425.65 439.3 422.61C428.49 389.35 435.22 361.35 447.34 339.63C463.85 310 490.36 292.05 496.02 288.4C505.63 282.18 527.29 245.37 529.48 237.06Z" fill="#eaba79" class="tile-element" data-element="3" data-connected="element_3"></path><path d="M158.15 157.55C162.63 153.07 162.63 145.82 158.15 141.34L106.87 90.0801C140.15 100.9 168.17 94.1801 189.9 82.0601C223.79 117.76 213.3 211.25 213.3 211.25C213.3 211.25 118.32 223.17 82.6201 189.29C94.7401 167.57 101.47 139.57 90.6501 106.31L141.93 157.56C146.41 162.03 153.67 162.03 158.15 157.55Z" fill="#e3a048" class="tile-element" data-element="4" data-connected="element_2"></path><path d="M0.47998 291.86V16.17L38.9 54.57C43.37 59.04 50.63 59.04 55.12 54.57C59.59 50.09 59.59 42.82 55.12 38.35L16.71 -0.0400391H291.82C284.53 1.43996 247.47 23.62 241.14 33.4C237.48 39.05 219.53 65.55 189.9 82.06C168.16 94.18 140.15 100.9 106.87 90.08C103.83 89.09 100.75 87.96 97.62 86.67C91.37 84.09 84.94 80.88 78.34 76.98C76.27 75.44 74.3 73.75 72.44 71.87C74.31 73.74 76.01 75.71 77.55 77.78C81.44 84.37 84.66 90.8 87.24 97.04C88.53 100.17 89.67 103.26 90.66 106.3C101.47 139.56 94.74 167.56 82.62 189.29C66.11 218.91 39.6 236.87 33.94 240.52C24.33 246.73 2.67998 283.54 0.47998 291.86Z" fill="#eaba79" class="tile-element" data-element="5" data-connected="element_3"></path><path d="M529.48 14.37L447.97 95.84Z" fill="#E1A04C" class=""></path><path d="M114.765 429.853C119.078 425.54 119.078 418.548 114.765 414.235C110.452 409.922 103.46 409.922 99.1469 414.235L4.23469 509.147C2.88521 510.496 1.50499 512.108 1 513.818V528H15.1818C16.8918 527.495 18.5037 526.115 19.8531 524.765L114.765 429.853Z" fill="#df9990" class="tile-element" data-element="7" data-connected="element_7"></path><path d="M415.235 98.1468C410.922 102.46 410.922 109.452 415.235 113.765C419.548 118.078 426.54 118.078 430.853 113.765L525.765 18.8531C527.115 17.5037 528.495 15.8918 529 14.1818L529 1.23981e-06L514.818 0C513.108 0.504999 511.496 1.88518 510.147 3.23471L415.235 98.1468Z" fill="#df9990" class="tile-element" data-element="8" data-connected="element_7"></path></g><defs><clipPath id="clip0"><rect width="529" height="529" fill="white"></rect></clipPath></defs></svg>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
</div>\n
<div class="row">\n
<div class="col-md-6">\n
<div class="tiles-used-box">\n
<h5>Details</h5>\n
<p><small>Size: 20cm x 20cm</small></p>\n
</div>\n
</div>\n
<div class="col-md-6">\n
<div class="tiles-used-box">\n
<h5>Colours Used</h5>\n
<div class="collection-tiles">\n
<ul class="list-inline pattern-colors-container">\n
<li class="list-inline-item">\n
<span class="color-box" style="background: #4d8284;"></span>\n
<label>Blue Lagoon</label>\n
</li>\n
<li class="list-inline-item">\n
<span class="color-box" style="background: #e3a048;"></span>\n
<label>Jaisalmer Yellow</label>\n
</li>\n
<li class="list-inline-item">\n
<span class="color-box" style="background: #eaba79;"></span>\n
<label>Buttercup Yellow</label>\n
</li>\n
<li class="list-inline-item">\n
<span class="color-box" style="background: #df9990;"></span>\n
<label>Nursery Pink</label>\n
</li>\n
</ul>\n
</div>\n
</div>\n
</div>\n
</div>\n
<div class="floor_share_footer">\n
<p>\n
Disclaimer: Colours and designs are indicative <br/>\n
Please check physical sample as colours may vary\n
</p>\n
</div>\n
</div>\n
</div>\n
<script type="text/javascript" src="/home/flobha/public_html/public/js/website/jquery-3.2.1.min.js"></script>\n
<script type="text/javascript">\n
$(document).ready(function() {\n
var tiles = $('.floor').find('svg');\n
\n
if (tiles && tiles.length) {\n
$.each($(tiles), function(idx, tile) {\n
var current_rotation = $(tile).attr('transform');\n
\n
if (current_rotation) {\n
var rotate_degree = parseInt(current_rotation.replace("rotate(", "").replace(")", ""));\n
rotate_degree = (rotate_degree == 360) ? 0 : rotate_degree;\n
$(tile).addClass('rotate-' + rotate_degree);\n
}\n
\n
if (bft.elements) {\n
$.each($(tile).find('polygon, path'), function(e_idx, ele) {\n
if ($(ele).data("element")) {\n
$.each(bft.elements, function(ele_no, color) {\n
if (parseInt($(ele).data("element")) == parseInt(ele_no)) {\n
$(ele).attr('fill', color);\n
return false;\n
}\n
});\n
}\n
});\n
}\n
});\n
}\n
});\n
</script>\n
</body>\n
</html>\n
"""
[]
/home
/flobha
/public_html
/vendor
/barryvdh
/laravel-snappy
/src
/PdfWrapper.php
{
$this->snappy->generateFromHtml($this->html, $filename, $this->options, $overwrite);
}
elseif ($this->file)
{
$this->snappy->generate($this->file, $filename, $this->options, $overwrite);
}
return $this;
}
/**
* Make the PDF downloadable by the user
*
* @param string $filename
* @return \Illuminate\Http\Response
*/
public function download($filename = 'document.pdf')
{
return new Response($this->output(), 200, array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'attachment; filename="'.$filename.'"'
));
}
/**
* Return a response with the PDF to show in the browser
*
* @param string $filename
* @return \Illuminate\Http\Response
*/
public function inline($filename = 'document.pdf')
{
return new Response($this->output(), 200, array(
'Content-Type' => 'application/pdf',
'Content-Disposition' => 'inline; filename="'.$filename.'"',
));
}
/**
/home
/flobha
/public_html
/app
/Http
/Controllers
/PatternController.php
if ($tile) {
// return view('website.pattern_pdf', compact('pattern', 'tile', 'elements', 'colors'));
$proceed = true;
$document_name = $tile->name;
$view = View::make('website.pattern_pdf', compact('pattern', 'tile', 'elements', 'colors'));
$html = $view->render();
} else {
$msg = 'No such pattern found, cannot download';
}
} else {
$msg = 'No such pattern found, cannot download';
}
if ($proceed && $html) {
$pdf = PDF::loadHTML($html)
->setPaper('a4', 'portrait')
->setWarnings(false);
return $pdf->download($document_name . '.pdf');
} else {
return back()->with(['success' => false, 'msg' => $msg], 200);
}
}
}
Arguments
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
"678"
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Controller.php
/**
* Get the middleware assigned to the controller.
*
* @return array
*/
public function getMiddleware()
{
return $this->middleware;
}
/**
* Execute an action on the controller.
*
* @param string $method
* @param array $parameters
* @return \Symfony\Component\HttpFoundation\Response
*/
public function callAction($method, $parameters)
{
return call_user_func_array([$this, $method], $parameters);
}
/**
* Handle calls to missing methods on the controller.
*
* @param string $method
* @param array $parameters
* @return mixed
*
* @throws \BadMethodCallException
*/
public function __call($method, $parameters)
{
throw new BadMethodCallException("Method [{$method}] does not exist on [".get_class($this).'].');
}
}
Arguments
array:2 [
0 => PatternController {#327}
1 => "downloadPattern"
]
array:2 [
0 => Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
"id" => "678"
]
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/ControllerDispatcher.php
{
$this->container = $container;
}
/**
* Dispatch a request to a given controller and method.
*
* @param \Illuminate\Routing\Route $route
* @param mixed $controller
* @param string $method
* @return mixed
*/
public function dispatch(Route $route, $controller, $method)
{
$parameters = $this->resolveClassMethodDependencies(
$route->parametersWithoutNulls(), $controller, $method
);
if (method_exists($controller, 'callAction')) {
return $controller->callAction($method, $parameters);
}
return $controller->{$method}(...array_values($parameters));
}
/**
* Get the middleware for the controller instance.
*
* @param \Illuminate\Routing\Controller $controller
* @param string $method
* @return array
*/
public function getMiddleware($controller, $method)
{
if (! method_exists($controller, 'getMiddleware')) {
return [];
}
return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
return static::methodExcludedByOptions($method, $data['options']);
Arguments
"downloadPattern"
array:2 [
0 => Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
"id" => "678"
]
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Route.php
protected function runCallable()
{
$callable = $this->action['uses'];
return $callable(...array_values($this->resolveMethodDependencies(
$this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
)));
}
/**
* Run the route action and return the response.
*
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
*/
protected function runController()
{
return $this->controllerDispatcher()->dispatch(
$this, $this->getController(), $this->getControllerMethod()
);
}
/**
* Get the controller instance for the route.
*
* @return mixed
*/
public function getController()
{
if (! $this->controller) {
$class = $this->parseControllerCallback()[0];
$this->controller = $this->container->make(ltrim($class, '\\'));
}
return $this->controller;
}
/**
Arguments
Route {#212}
PatternController {#327}
"downloadPattern"
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Route.php
*
* @throws \UnexpectedValueException
*/
protected function parseAction($action)
{
return RouteAction::parse($this->uri, $action);
}
/**
* Run the route action and return the response.
*
* @return mixed
*/
public function run()
{
$this->container = $this->container ?: new Container;
try {
if ($this->isControllerAction()) {
return $this->runController();
}
return $this->runCallable();
} catch (HttpResponseException $e) {
return $e->getResponse();
}
}
/**
* Checks whether the route's action is a controller.
*
* @return bool
*/
protected function isControllerAction()
{
return is_string($this->action['uses']);
}
/**
* Run the route action and return the response.
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Middleware
/SubstituteBindings.php
*/
public function __construct(Registrar $router)
{
$this->router = $router;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->router->substituteBindings($route = $request->route());
$this->router->substituteImplicitBindings($route);
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#328
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#317 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#322 …}
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/VerifyCsrfToken.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Session\TokenMismatchException
*/
public function handle($request, Closure $next)
{
if (
$this->isReading($request) ||
$this->runningUnitTests() ||
$this->inExceptArray($request) ||
$this->tokensMatch($request)
) {
return $this->addCookieToResponse($request, $next($request));
}
throw new TokenMismatchException;
}
/**
* Determine if the HTTP request uses a ‘read’ verb.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function isReading($request)
{
return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
}
/**
* Determine if the application is running unit tests.
*
* @return bool
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#413
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#317 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#328 …}
$pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/View
/Middleware
/ShareErrorsFromSession.php
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// If the current session has an "errors" variable bound to it, we will share
// its value with all view instances so the views can easily access errors
// without having to bind. An empty bag is set when there aren't errors.
$this->view->share(
'errors', $request->session()->get('errors') ?: new ViewErrorBag
);
// Putting the errors in the view for every view allows the developer to just
// assume that some errors are always available, which is convenient since
// they don't have to continually run checks for the presence of errors.
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#414
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#317 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#413 …}
$pipe: "BFT\Http\Middleware\VerifyCsrfToken"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Session
/Middleware
/StartSession.php
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->sessionHandled = true;
// If a session driver has been configured, we will need to start the session here
// so that the data is ready for an application. Note that the Laravel sessions
// do not make use of PHP "native" sessions in any way since they are crappy.
if ($this->sessionConfigured()) {
$request->setLaravelSession(
$session = $this->startSession($request)
);
$this->collectGarbage($session);
}
$response = $next($request);
// Again, if the session has been configured we will need to close out the session
// so that the attributes may be persisted to some storage medium. We will also
// add the session identifier cookie to the application response headers now.
if ($this->sessionConfigured()) {
$this->storeCurrentUrl($request, $session);
$this->addCookieToResponse($response, $session);
}
return $response;
}
/**
* Perform any final actions for the request lifecycle.
*
* @param \Illuminate\Http\Request $request
* @param \Symfony\Component\HttpFoundation\Response $response
* @return void
*/
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#415
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#317 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#414 …}
$pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Cookie
/Middleware
/AddQueuedCookiesToResponse.php
* Create a new CookieQueue instance.
*
* @param \Illuminate\Contracts\Cookie\QueueingFactory $cookies
* @return void
*/
public function __construct(CookieJar $cookies)
{
$this->cookies = $cookies;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$response = $next($request);
foreach ($this->cookies->getQueuedCookies() as $cookie) {
$response->headers->setCookie($cookie);
}
return $response;
}
}
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#416
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#317 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#415 …}
$pipe: "Illuminate\Session\Middleware\StartSession"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Cookie
/Middleware
/EncryptCookies.php
* Disable encryption for the given cookie name(s).
*
* @param string|array $cookieName
* @return void
*/
public function disableFor($cookieName)
{
$this->except = array_merge($this->except, (array) $cookieName);
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $this->encrypt($next($this->decrypt($request)));
}
/**
* Decrypt the cookies on the request.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @return \Symfony\Component\HttpFoundation\Request
*/
protected function decrypt(Request $request)
{
foreach ($request->cookies as $key => $c) {
if ($this->isDisabled($key)) {
continue;
}
try {
$request->cookies->set($key, $this->decryptCookie($c));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#417
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#317 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#416 …}
$pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
->then(function ($request) use ($route) {
return $this->prepareResponse(
$request, $route->run()
);
});
}
/**
* Gather the middleware for the given route with resolved class names.
*
* @param \Illuminate\Routing\Route $route
* @return array
*/
public function gatherRouteMiddleware(Route $route)
{
$middleware = collect($route->gatherMiddleware())->map(function ($name) {
return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
})->flatten();
return $this->sortMiddleware($middleware);
}
/**
* Sort the given middleware by priority.
*
Arguments
Closure {#322
class: "Illuminate\Routing\Router"
this: Router {#25 …}
parameters: {
$request: {}
}
use: {
$route: Route {#212 …}
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
return $route;
}
/**
* Return the response for the given route.
*
* @param Route $route
* @param Request $request
* @return mixed
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\RouteMatched($route, $request));
return $this->prepareResponse($request,
$this->runRouteWithinStack($route, $request)
);
}
/**
* Run the given route within a Stack "onion" instance.
*
* @param \Illuminate\Routing\Route $route
* @param \Illuminate\Http\Request $request
* @return mixed
*/
protected function runRouteWithinStack(Route $route, Request $request)
{
$shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
$this->container->make('middleware.disable') === true;
$middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
return (new Pipeline($this->container))
->send($request)
->through($middleware)
Arguments
Route {#212}
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
{
$this->current = $route = $this->routes->match($request);
$this->container->instance(Route::class, $route);
return $route;
}
/**
* Return the response for the given route.
*
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#212}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
* @return mixed
*/
public function respondWithRoute($name)
{
$route = tap($this->routes->getByName($name))->bind($this->currentRequest);
return $this->runRoute($this->currentRequest, $route);
}
/**
* Dispatch the request to the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function dispatch(Request $request)
{
$this->currentRequest = $request;
return $this->dispatchToRoute($request);
}
/**
* Dispatch the request to a route and return the response.
*
* @param \Illuminate\Http\Request $request
* @return mixed
*/
public function dispatchToRoute(Request $request)
{
return $this->runRoute($request, $this->findRoute($request));
}
/**
* Find the route matching a given request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Routing\Route
*/
protected function findRoute($request)
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
{
return function ($request) {
$this->app->instance('request', $request);
return $this->router->dispatch($request);
};
}
/**
* Call the terminate method on any terminable middleware.
*
* @param \Illuminate\Http\Request $request
* @param \Illuminate\Http\Response $response
* @return void
*/
public function terminate($request, $response)
{
$this->terminateMiddleware($request, $response);
$this->app->terminate();
}
/**
* Call the terminate method on any terminable middleware.
*
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
try {
return $destination($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/fideloper
/proxy
/src
/TrustProxies.php
{
$this->config = $config;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*
* @return mixed
*/
public function handle($request, Closure $next)
{
$this->setTrustedProxyHeaderNames($request);
$this->setTrustedProxyIpAddresses($request);
return $next($request);
}
/**
* Sets the trusted proxies on the request to the value of trustedproxy.proxies
*
* @param \Illuminate\Http\Request $request
*/
protected function setTrustedProxyIpAddresses($request)
{
$trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
// We only trust specific IP addresses
if (is_array($trustedIps)) {
return $this->setTrustedProxyIpAddressesToSpecificIps($request, $trustedIps);
}
// We trust any IP address that calls us, but not proxies further
// up the forwarding chain.
// TODO: Determine if this should only trust the first IP address
// Currently it trusts the entire chain (array of IPs),
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#122
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#34 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#23 …}
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
* The additional attributes passed to the middleware.
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#223
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#34 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#122 …}
$pipe: "BFT\Http\Middleware\TrustProxies"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/TransformsRequest.php
* The additional attributes passed to the middleware.
*
* @var array
*/
protected $attributes = [];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, ...$attributes)
{
$this->attributes = $attributes;
$this->clean($request);
return $next($request);
}
/**
* Clean the request's data.
*
* @param \Illuminate\Http\Request $request
* @return void
*/
protected function clean($request)
{
$this->cleanParameterBag($request->query);
if ($request->isJson()) {
$this->cleanParameterBag($request->json());
} else {
$this->cleanParameterBag($request->request);
}
}
/**
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#299
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#34 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#223 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/ValidatePostSize.php
class ValidatePostSize
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Illuminate\Http\Exceptions\PostTooLargeException
*/
public function handle($request, Closure $next)
{
$max = $this->getPostMaxSize();
if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
throw new PostTooLargeException;
}
return $next($request);
}
/**
* Determine the server 'post_max_size' as bytes.
*
* @return int
*/
protected function getPostMaxSize()
{
if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
return (int) $postMaxSize;
}
$metric = strtoupper(substr($postMaxSize, -1));
$postMaxSize = (int) $postMaxSize;
switch ($metric) {
case 'K':
return $postMaxSize * 1024;
case 'M':
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#300
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#34 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#299 …}
$pipe: "BFT\Http\Middleware\TrimStrings"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/CheckForMaintenanceMode.php
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
public function handle($request, Closure $next)
{
if ($this->app->isDownForMaintenance()) {
$data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
}
return $next($request);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
// the appropriate method and arguments, returning the results back out.
return $pipe($passable, $stack);
} elseif (! is_object($pipe)) {
list($name, $parameters) = $this->parsePipeString($pipe);
// If the pipe is a string we will parse the string and resolve the class out
// of the dependency injection container. We can then build a callable and
// execute the pipe function giving in the parameters that are required.
$pipe = $this->getContainer()->make($name);
$parameters = array_merge([$passable, $stack], $parameters);
} else {
// If the pipe is already an object we'll just make a callable and pass it to
// the pipe as-is. There is no need to do any extra parsing and formatting
// since the object we're given was already a fully instantiated object.
$parameters = [$passable, $stack];
}
return method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
list($name, $parameters) = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
$parameters = explode(',', $parameters);
}
return [$name, $parameters];
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#301
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#34 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#300 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
return $this->handleException($passable, new FatalThrowableError($e));
}
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
protected function carry()
{
return function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
try {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Pipeline
/Pipeline.php
public function via($method)
{
$this->method = $method;
return $this;
}
/**
* Run the pipeline with a final destination callback.
*
* @param \Closure $destination
* @return mixed
*/
public function then(Closure $destination)
{
$pipeline = array_reduce(
array_reverse($this->pipes), $this->carry(), $this->prepareDestination($destination)
);
return $pipeline($this->passable);
}
/**
* Get the final piece of the Closure onion.
*
* @param \Closure $destination
* @return \Closure
*/
protected function prepareDestination(Closure $destination)
{
return function ($passable) use ($destination) {
return $destination($passable);
};
}
/**
* Get a Closure that represents a slice of the application onion.
*
* @return \Closure
*/
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
}
/**
* Send the given request through the middleware / router.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
protected function sendRequestThroughRouter($request)
{
$this->app->instance('request', $request);
Facade::clearResolvedInstance('request');
$this->bootstrap();
return (new Pipeline($this->app))
->send($request)
->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
->then($this->dispatchToRouter());
}
/**
* Bootstrap the application for HTTP requests.
*
* @return void
*/
public function bootstrap()
{
if (! $this->app->hasBeenBootstrapped()) {
$this->app->bootstrapWith($this->bootstrappers());
}
}
/**
* Get the route dispatcher callback.
*
* @return \Closure
*/
protected function dispatchToRouter()
Arguments
Closure {#23
class: "Illuminate\Foundation\Http\Kernel"
this: Kernel {#29 …}
parameters: {
$request: {}
}
}
/home
/flobha
/public_html
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* Handle an incoming HTTP request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function handle($request)
{
try {
$request->enableHttpMethodParameterOverride();
$response = $this->sendRequestThroughRouter($request);
} catch (Exception $e) {
$this->reportException($e);
$response = $this->renderException($request, $e);
} catch (Throwable $e) {
$this->reportException($e = new FatalThrowableError($e));
$response = $this->renderException($request, $e);
}
$this->app['events']->dispatch(
new Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/home
/flobha
/public_html
/public
/index.php
*/
$app = require_once __DIR__.'/../bootstrap/app.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
Arguments
Request {#42
#json: null
#convertedFiles: []
#userResolver: Closure {#318
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#32 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#320
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#212 …}
}
}
+attributes: ParameterBag {#44}
+request: ParameterBag {#50}
+query: ParameterBag {#50}
+server: ServerBag {#46}
+files: FileBag {#47}
+cookies: ParameterBag {#45}
+headers: HeaderBag {#48}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/download-pattern/678"
#requestUri: "/download-pattern/678"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#429}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}