/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Handler
/CurlFactory.php
new RequestException(
'An error was encountered during the on_headers event',
$easy->request,
$easy->response,
$easy->onHeadersException,
$ctx
)
);
}
$message = sprintf(
'cURL error %s: %s (%s)',
$ctx['errno'],
$ctx['error'],
'see http://curl.haxx.se/libcurl/c/libcurl-errors.html'
);
// Create a connection exception if it was a specific error code.
$error = isset($connectionErrors[$easy->errno])
? new ConnectException($message, $easy->request, null, $ctx)
: new RequestException($message, $easy->request, $easy->response, null, $ctx);
return \GuzzleHttp\Promise\rejection_for($error);
}
private function getDefaultConf(EasyHandle $easy)
{
$conf = [
'_headers' => $easy->request->getHeaders(),
CURLOPT_CUSTOMREQUEST => $easy->request->getMethod(),
CURLOPT_URL => (string) $easy->request->getUri()->withFragment(''),
CURLOPT_RETURNTRANSFER => false,
CURLOPT_HEADER => false,
CURLOPT_CONNECTTIMEOUT => 150,
];
if (defined('CURLOPT_PROTOCOLS')) {
$conf[CURLOPT_PROTOCOLS] = CURLPROTO_HTTP | CURLPROTO_HTTPS;
}
Arguments
"cURL error 7: Failed connect to www.360kan.com:443; Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Handler
/CurlFactory.php
private static function finishError(
callable $handler,
EasyHandle $easy,
CurlFactoryInterface $factory
) {
// Get error information and release the handle to the factory.
$ctx = [
'errno' => $easy->errno,
'error' => curl_error($easy->handle),
] + curl_getinfo($easy->handle);
$factory->release($easy);
// Retry when nothing is present or when curl failed to rewind.
if (empty($easy->options['_err_message'])
&& (!$easy->errno || $easy->errno == 65)
) {
return self::retryFailedRewind($handler, $easy, $ctx);
}
return self::createRejection($easy, $ctx);
}
private static function createRejection(EasyHandle $easy, array $ctx)
{
static $connectionErrors = [
CURLE_OPERATION_TIMEOUTED => true,
CURLE_COULDNT_RESOLVE_HOST => true,
CURLE_COULDNT_CONNECT => true,
CURLE_SSL_CONNECT_ERROR => true,
CURLE_GOT_NOTHING => true,
];
// If an exception was encountered during the onHeaders event, then
// return a rejected promise that wraps that exception.
if ($easy->onHeadersException) {
return \GuzzleHttp\Promise\rejection_for(
new RequestException(
'An error was encountered during the on_headers event',
$easy->request,
$easy->response,
Arguments
EasyHandle {#340}
array:28 [
"errno" => 7
"error" => "Failed connect to www.360kan.com:443; Connection refused"
"url" => "https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
"content_type" => null
"http_code" => 0
"header_size" => 0
"request_size" => 0
"filetime" => -1
"ssl_verify_result" => 0
"redirect_count" => 0
"total_time" => 0.510929
"namelookup_time" => 0.510666
"connect_time" => 0.0
"pretransfer_time" => 0.0
"size_upload" => 0.0
"size_download" => 0.0
"speed_download" => 0.0
"speed_upload" => 0.0
"download_content_length" => -1.0
"upload_content_length" => -1.0
"starttransfer_time" => 0.0
"redirect_time" => 0.0
"redirect_url" => ""
"primary_ip" => "127.0.0.1"
"certinfo" => []
"primary_port" => 443
"local_ip" => ""
"local_port" => 0
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Handler
/CurlFactory.php
* Completes a cURL transaction, either returning a response promise or a
* rejected promise.
*
* @param callable $handler
* @param EasyHandle $easy
* @param CurlFactoryInterface $factory Dictates how the handle is released
*
* @return \GuzzleHttp\Promise\PromiseInterface
*/
public static function finish(
callable $handler,
EasyHandle $easy,
CurlFactoryInterface $factory
) {
if (isset($easy->options['on_stats'])) {
self::invokeStats($easy);
}
if (!$easy->response || $easy->errno) {
return self::finishError($handler, $easy, $factory);
}
// Return the response if it is present and there is no error.
$factory->release($easy);
// Rewind the body of the response if possible.
$body = $easy->response->getBody();
if ($body->isSeekable()) {
$body->rewind();
}
return new FulfilledPromise($easy->response);
}
private static function invokeStats(EasyHandle $easy)
{
$curlStats = curl_getinfo($easy->handle);
$stats = new TransferStats(
$easy->request,
$easy->response,
Arguments
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Handler
/CurlHandler.php
* @param array $options Array of options to use with the handler
*/
public function __construct(array $options = [])
{
$this->factory = isset($options['handle_factory'])
? $options['handle_factory']
: new CurlFactory(3);
}
public function __invoke(RequestInterface $request, array $options)
{
if (isset($options['delay'])) {
usleep($options['delay'] * 1000);
}
$easy = $this->factory->create($request, $options);
curl_exec($easy->handle);
$easy->errno = curl_errno($easy->handle);
return CurlFactory::finish($this, $easy, $this->factory);
}
}
Arguments
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Handler
/Proxy.php
*/
class Proxy
{
/**
* Sends synchronous requests to a specific handler while sending all other
* requests to another handler.
*
* @param callable $default Handler used for normal responses
* @param callable $sync Handler used for synchronous responses.
*
* @return callable Returns the composed handler.
*/
public static function wrapSync(
callable $default,
callable $sync
) {
return function (RequestInterface $request, array $options) use ($default, $sync) {
return empty($options[RequestOptions::SYNCHRONOUS])
? $default($request, $options)
: $sync($request, $options);
};
}
/**
* Sends streaming requests to a streaming compatible handler while sending
* all other requests to a default handler.
*
* This, for example, could be useful for taking advantage of the
* performance benefits of curl while still supporting true streaming
* through the StreamHandler.
*
* @param callable $default Handler used for non-streaming responses
* @param callable $streaming Handler used for streaming responses
*
* @return callable Returns the composed handler.
*/
public static function wrapStreaming(
callable $default,
callable $streaming
) {
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Handler
/Proxy.php
/**
* Sends streaming requests to a streaming compatible handler while sending
* all other requests to a default handler.
*
* This, for example, could be useful for taking advantage of the
* performance benefits of curl while still supporting true streaming
* through the StreamHandler.
*
* @param callable $default Handler used for non-streaming responses
* @param callable $streaming Handler used for streaming responses
*
* @return callable Returns the composed handler.
*/
public static function wrapStreaming(
callable $default,
callable $streaming
) {
return function (RequestInterface $request, array $options) use ($default, $streaming) {
return empty($options['stream'])
? $default($request, $options)
: $streaming($request, $options);
};
}
}
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/PrepareBodyMiddleware.php
* @param callable $nextHandler Next handler to invoke.
*/
public function __construct(callable $nextHandler)
{
$this->nextHandler = $nextHandler;
}
/**
* @param RequestInterface $request
* @param array $options
*
* @return PromiseInterface
*/
public function __invoke(RequestInterface $request, array $options)
{
$fn = $this->nextHandler;
// Don't do anything if the request has no body.
if ($request->getBody()->getSize() === 0) {
return $fn($request, $options);
}
$modify = [];
// Add a default content-type if possible.
if (!$request->hasHeader('Content-Type')) {
if ($uri = $request->getBody()->getMetadata('uri')) {
if ($type = Psr7\mimetype_from_filename($uri)) {
$modify['set_headers']['Content-Type'] = $type;
}
}
}
// Add a default content-length or transfer-encoding header.
if (!$request->hasHeader('Content-Length')
&& !$request->hasHeader('Transfer-Encoding')
) {
$size = $request->getBody()->getSize();
if ($size !== null) {
$modify['set_headers']['Content-Length'] = $size;
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Middleware.php
/**
* Middleware that adds cookies to requests.
*
* The options array must be set to a CookieJarInterface in order to use
* cookies. This is typically handled for you by a client.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function cookies()
{
return function (callable $handler) {
return function ($request, array $options) use ($handler) {
if (empty($options['cookies'])) {
return $handler($request, $options);
} elseif (!($options['cookies'] instanceof CookieJarInterface)) {
throw new \InvalidArgumentException('cookies must be an instance of GuzzleHttp\Cookie\CookieJarInterface');
}
$cookieJar = $options['cookies'];
$request = $cookieJar->withCookieHeader($request);
return $handler($request, $options)
->then(function ($response) use ($cookieJar, $request) {
$cookieJar->extractCookies($request, $response);
return $response;
}
);
};
};
}
/**
* Middleware that throws exceptions for 4xx or 5xx responses when the
* "http_error" request option is set to true.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function httpErrors()
{
return function (callable $handler) {
return function ($request, array $options) use ($handler) {
if (empty($options['http_errors'])) {
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/RedirectMiddleware.php
$fn = $this->nextHandler;
if (empty($options['allow_redirects'])) {
return $fn($request, $options);
}
if ($options['allow_redirects'] === true) {
$options['allow_redirects'] = self::$defaultSettings;
} elseif (!is_array($options['allow_redirects'])) {
throw new \InvalidArgumentException('allow_redirects must be true, false, or array');
} else {
// Merge the default settings with the provided settings
$options['allow_redirects'] += self::$defaultSettings;
}
if (empty($options['allow_redirects']['max'])) {
return $fn($request, $options);
}
return $fn($request, $options)
->then(function (ResponseInterface $response) use ($request, $options) {
return $this->checkRedirect($request, $options, $response);
});
}
/**
* @param RequestInterface $request
* @param array $options
* @param ResponseInterface|PromiseInterface $response
*
* @return ResponseInterface|PromiseInterface
*/
public function checkRedirect(
RequestInterface $request,
array $options,
ResponseInterface $response
) {
if (substr($response->getStatusCode(), 0, 1) != '3'
|| !$response->hasHeader('Location')
) {
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Middleware.php
}
);
};
};
}
/**
* Middleware that throws exceptions for 4xx or 5xx responses when the
* "http_error" request option is set to true.
*
* @return callable Returns a function that accepts the next handler.
*/
public static function httpErrors()
{
return function (callable $handler) {
return function ($request, array $options) use ($handler) {
if (empty($options['http_errors'])) {
return $handler($request, $options);
}
return $handler($request, $options)->then(
function (ResponseInterface $response) use ($request, $handler) {
$code = $response->getStatusCode();
if ($code < 400) {
return $response;
}
throw RequestException::create($request, $response);
}
);
};
};
}
/**
* Middleware that pushes history data to an ArrayAccess container.
*
* @param array $container Container to hold the history (by reference).
*
* @return callable Returns a function that accepts the next handler.
* @throws \InvalidArgumentException if container is not an array or ArrayAccess.
*/
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/HandlerStack.php
/**
* @param callable $handler Underlying HTTP handler.
*/
public function __construct(callable $handler = null)
{
$this->handler = $handler;
}
/**
* Invokes the handler stack as a composed handler
*
* @param RequestInterface $request
* @param array $options
*/
public function __invoke(RequestInterface $request, array $options)
{
$handler = $this->resolve();
return $handler($request, $options);
}
/**
* Dumps a string representation of the stack.
*
* @return string
*/
public function __toString()
{
$depth = 0;
$stack = [];
if ($this->handler) {
$stack[] = "0) Handler: " . $this->debugCallable($this->handler);
}
$result = '';
foreach (array_reverse($this->stack) as $tuple) {
$depth++;
$str = "{$depth}) Name: '{$tuple[1]}', ";
$str .= "Function: " . $this->debugCallable($tuple[0]);
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Client.php
*/
private function transfer(RequestInterface $request, array $options)
{
// save_to -> sink
if (isset($options['save_to'])) {
$options['sink'] = $options['save_to'];
unset($options['save_to']);
}
// exceptions -> http_errors
if (isset($options['exceptions'])) {
$options['http_errors'] = $options['exceptions'];
unset($options['exceptions']);
}
$request = $this->applyOptions($request, $options);
$handler = $options['handler'];
try {
return Promise\promise_for($handler($request, $options));
} catch (\Exception $e) {
return Promise\rejection_for($e);
}
}
/**
* Applies the array of request options to a request.
*
* @param RequestInterface $request
* @param array $options
*
* @return RequestInterface
*/
private function applyOptions(RequestInterface $request, array &$options)
{
$modify = [];
if (isset($options['form_params'])) {
if (isset($options['multipart'])) {
throw new \InvalidArgumentException('You cannot use '
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Client.php
return $this->sendAsync($request, $options)->wait();
}
public function requestAsync($method, $uri = '', array $options = [])
{
$options = $this->prepareDefaults($options);
// Remove request modifying parameter because it can be done up-front.
$headers = isset($options['headers']) ? $options['headers'] : [];
$body = isset($options['body']) ? $options['body'] : null;
$version = isset($options['version']) ? $options['version'] : '1.1';
// Merge the URI into the base URI.
$uri = $this->buildUri($uri, $options);
if (is_array($body)) {
$this->invalidBody();
}
$request = new Psr7\Request($method, $uri, $headers, $body, $version);
// Remove the option so that they are not doubly-applied.
unset($options['headers'], $options['body'], $options['version']);
return $this->transfer($request, $options);
}
public function request($method, $uri = '', array $options = [])
{
$options[RequestOptions::SYNCHRONOUS] = true;
return $this->requestAsync($method, $uri, $options)->wait();
}
public function getConfig($option = null)
{
return $option === null
? $this->config
: (isset($this->config[$option]) ? $this->config[$option] : null);
}
private function buildUri($uri, array $config)
{
// for BC we accept null which would otherwise fail in uri_for
$uri = Psr7\uri_for($uri === null ? '' : $uri);
Arguments
Request {#334}
array:7 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
]
/data
/www
/default
/freekan
/vendor
/guzzlehttp
/guzzle
/src
/Client.php
// Remove request modifying parameter because it can be done up-front.
$headers = isset($options['headers']) ? $options['headers'] : [];
$body = isset($options['body']) ? $options['body'] : null;
$version = isset($options['version']) ? $options['version'] : '1.1';
// Merge the URI into the base URI.
$uri = $this->buildUri($uri, $options);
if (is_array($body)) {
$this->invalidBody();
}
$request = new Psr7\Request($method, $uri, $headers, $body, $version);
// Remove the option so that they are not doubly-applied.
unset($options['headers'], $options['body'], $options['version']);
return $this->transfer($request, $options);
}
public function request($method, $uri = '', array $options = [])
{
$options[RequestOptions::SYNCHRONOUS] = true;
return $this->requestAsync($method, $uri, $options)->wait();
}
public function getConfig($option = null)
{
return $option === null
? $this->config
: (isset($this->config[$option]) ? $this->config[$option] : null);
}
private function buildUri($uri, array $config)
{
// for BC we accept null which would otherwise fail in uri_for
$uri = Psr7\uri_for($uri === null ? '' : $uri);
if (isset($config['base_uri'])) {
$uri = Psr7\UriResolver::resolve(Psr7\uri_for($config['base_uri']), $uri);
}
return $uri->getScheme() === '' && $uri->getHost() !== '' ? $uri->withScheme('http') : $uri;
}
Arguments
"GET"
Uri {#333}
array:8 [
"cookies" => CookieJar {#316}
"synchronous" => true
"handler" => HandlerStack {#321}
"allow_redirects" => array:5 [
"max" => 5
"protocols" => array:2 [
0 => "http"
1 => "https"
]
"strict" => false
"referer" => false
"track_redirects" => false
]
"http_errors" => true
"decode_content" => true
"verify" => true
"_conditional" => array:1 [
"User-Agent" => "GuzzleHttp/6.2.1 curl/7.29.0 PHP/7.0.32"
]
]
/data
/www
/default
/freekan
/vendor
/jaeger
/g-http
/src
/GHttp.php
}
/**
* @param $url
* @param array $args
* @param array $otherArgs
* @return string
*/
public static function get($url,$args = null,$otherArgs = [])
{
is_string($args) && parse_str($args,$args);
$args = array_merge([
'query' => $args,
'headers' => [
'referer' => $url,
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
]
],$otherArgs);
$client = self::getClient();
$response = $client->request('GET', $url,$args);
return (string)$response->getBody();
}
public static function getJson($url, $args = null, $otherArgs = [])
{
$data = self::get($url, $args , $otherArgs);
return json_decode($data,JSON_UNESCAPED_UNICODE);
}
/**
* @param $url
* @param array $args
* @param array $otherArgs
* @return string
*/
public static function post($url,$args = null,$otherArgs = [])
{
is_string($args) && parse_str($args,$args);
$args = array_merge([
'form_params' => $args,
Arguments
"GET"
"https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
array:4 [
"query" => null
"headers" => array:2 [
"referer" => "https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
"User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
]
"cookies" => CookieJar {#316}
"synchronous" => true
]
/data
/www
/default
/freekan
/vendor
/jaeger
/querylist
/src
/Services
/HttpService.php
class HttpService
{
protected static $cookieJar = null;
public static function getCookieJar()
{
if(self::$cookieJar == null)
{
self::$cookieJar = new CookieJar();
}
return self::$cookieJar;
}
public static function get(QueryList $ql,$url,$args = null,$otherArgs = [])
{
$otherArgs = array_merge([
'cookies' => self::getCookieJar()
],$otherArgs);
$html = GHttp::get($url,$args,$otherArgs);
$ql->setHtml($html);
return $ql;
}
public static function post(QueryList $ql,$url,$args = null,$otherArgs = [])
{
$otherArgs = array_merge([
'cookies' => self::getCookieJar()
],$otherArgs);
$html = GHttp::post($url,$args,$otherArgs);
$ql->setHtml($html);
return $ql;
}
}
Arguments
"https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
array:3 [
"query" => null
"headers" => array:2 [
"referer" => "https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
"User-Agent" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
]
"cookies" => CookieJar {#316}
]
array:1 [
"cookies" => CookieJar {#316}
]
/data
/www
/default
/freekan
/vendor
/jaeger
/querylist
/src
/Providers
/HttpServiceProvider.php
<?php
/**
* Created by PhpStorm.
* User: Jaeger <JaegerCode@gmail.com>
* Date: 2017/9/22
*/
namespace QL\Providers;
use QL\Contracts\ServiceProviderContract;
use QL\Kernel;
use QL\Services\HttpService;
class HttpServiceProvider implements ServiceProviderContract
{
public function register(Kernel $kernel)
{
$kernel->bind('get',function (...$args){
return HttpService::get($this,...$args);
});
$kernel->bind('post',function (...$args){
return HttpService::post($this,...$args);
});
}
}
Arguments
QueryList {#258}
"https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
Arguments
"https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
/data
/www
/default
/freekan
/vendor
/jaeger
/querylist
/src
/QueryList.php
protected $query;
protected $kernel;
protected static $plugins = [];
/**
* QueryList constructor.
*/
public function __construct()
{
$this->query = new Query($this);
$this->kernel = (new Kernel($this))->bootstrap();
Config::getInstance()->bootstrap($this);
}
public function __call($name, $arguments)
{
if(method_exists($this->query,$name)){
$result = $this->query->$name(...$arguments);
}else{
$result = $this->kernel->getService($name)->call($this,...$arguments);
}
return $result;
}
public static function __callStatic($name, $arguments)
{
$instance = self::getInstance();
return $instance->$name(...$arguments);
}
public function __destruct()
{
$this->destruct();
}
/**
* Get the QueryList instance
*
* @return QueryList
*/
Arguments
QueryList {#258}
"https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
/data
/www
/default
/freekan
/app
/Http
/Controllers
/Core
/CoreController.php
$this->ql->destruct();
return $_var_13->all();
}
public function zyList($_var_14, $_var_15)
{
$_var_16 = $this->domin . '/zongyi/list?rank=rankhot&cat=' . $_var_14 . '&area=all&act=all&pageno=' . $_var_15;
$_var_17 = ['title' => ['.list.g-clear .s1', 'text', ''], 'url' => ['.list.g-clear a.js-tongjic', 'href', '', function ($_var_18) {
return base64_encode($this->domin . $_var_18);
}], 'img' => ['.list.g-clear .cover.g-playicon img', 'src', ''], 'js' => ['.list.g-clear .hint', 'text', ''], 'star' => ['.list.g-clear .star', 'text', '']];
$_var_19 = $this->ql->get($_var_16)->rules($_var_17)->query()->getData();
$this->ql->destruct();
return $_var_19->all();
}
public function dmList($_var_20, $_var_21)
{
$_var_22 = $this->domin . '/dongman/list?rank=rankhot&cat=' . $_var_20 . '&area=all&act=all&pageno=' . $_var_21;
$_var_23 = ['title' => ['.list.g-clear .s1', 'text', ''], 'url' => ['.list.g-clear a.js-tongjic', 'href', '', function ($_var_24) {
return base64_encode($this->domin . $_var_24);
}], 'img' => ['.list.g-clear .cover.g-playicon img', 'src', ''], 'js' => ['.list.g-clear .hint', 'text', '']];
$_var_25 = $this->ql->get($_var_22)->rules($_var_23)->query()->getData();
$this->ql->destruct();
return $_var_25->all();
}
public function getDyPlay($_var_26)
{
$_var_27 = ['title' => ['.title-left.g-clear h1', 'text', ''], 'desc' => ['.item-desc.js-close-wrap', 'text', '-span'], 'playname' => ['.top-list-zd.g-clear a[data-daochu^="to="]', 'text', '-span'], 'play' => ['.top-list-zd.g-clear a[data-daochu^="to="]', 'href', '', function ($_var_28) {
if (strpos($_var_28, 'cps') && strpos($_var_28, 'youku')) {
$_var_29 = explode('&', $_var_28);
$_var_30 = str_replace('url=', '', $_var_29['1']);
return $_var_30;
} else {
if (strpos($_var_28, '?')) {
$_var_31 = strpos($_var_28, '?');
return substr($_var_28, 0, $_var_31);
} else {
return $_var_28;
}
}
}]];
$_var_32 = $this->ql->get($_var_26)->rules($_var_27)->query()->getData();
Arguments
"get"
array:1 [
0 => "https://www.360kan.com/dongman/list?rank=rankhot&cat=107&area=all&act=all&pageno=1"
]
/data
/www
/default
/freekan
/app
/Http
/Controllers
/Index
/IndexController.php
{
$var_885[]=$var_889[0];
}
return view('template.'.config('webset.webtemplate').'.autocx',['dydata'=>$var_885,'cxtype'=>($this->fenlei)[cx],'yqlist'=>$this->yqlist,'navlist'=>$this->nav,'pagehtml'=>$var_887,]);
}
public function tv($v_8='all',$v_9='1')
{
$var_155=$this->core->dsjList($v_8,$v_9);
$var_891=$this->common->getPageHtml($v_9,24,$v_8,'tvlist');
return view('template.'.config('webset.webtemplate').'.tv',['dsj'=>$var_155,'pagehtml'=>$var_891,'tvtype'=>($this->fenlei)[tv],'yqlist'=>$this->yqlist,'navlist'=>$this->nav,'cat'=>$v_8]);
}
public function zy($v_10='all',$v_11='1')
{
$var_893=$this->core->zyList($v_10,$v_11);
$var_894=$this->common->getPageHtml($v_11,24,$v_10,'zylist');
return view('template.'.config('webset.webtemplate').'.zy',['zys'=>$var_893,'pagehtml'=>$var_894,'zytype'=>($this->fenlei)[zy],'yqlist'=>$this->yqlist,'navlist'=>$this->nav,'cat'=>$v_10]);
}
public function dm($v_12='all',$v_13='1')
{
$var_896=$this->core->dmList($v_12,$v_13);
$var_897=$this->common->getPageHtml($v_13,24,$v_12,'dmlist');
return view('template.'.config('webset.webtemplate').'.dm',['dms'=>$var_896,'pagehtml'=>$var_897,'dmtype'=>($this->fenlei)[dm],'yqlist'=>$this->yqlist,'navlist'=>$this->nav,'cat'=>$v_12]);
}
public function play(Request$v_14,$v_15)
{
$var_899=$this->common->filterQq($v_15);
if($var_899==1)
{
return view('template.'.config('webset.webtemplate').'.qqtip');
}
$var_900=$this->getHistroy($v_14);
if($var_900)
{
krsort($var_900);
}
if(is_numeric($v_15))
{
$var_901=$this->dydata->where(['dy_id'=>$v_15])->first()->toArray();
$var_902=$this->common->getJs($var_901['dy_addr']);
$var_901['dy_addr']=$var_902;
Arguments
/data
/www
/default
/freekan
/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
/data
/www
/default
/freekan
/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 => IndexController {#247}
1 => "dm"
]
array:2 [
"cat" => "107"
"page" => "1"
]
/data
/www
/default
/freekan
/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
"dm"
array:2 [
"cat" => "107"
"page" => "1"
]
/data
/www
/default
/freekan
/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 {#111}
IndexController {#247}
"dm"
/data
/www
/default
/freekan
/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.
/data
/www
/default
/freekan
/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);
}
/**
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/app
/Http
/Middleware
/CcDefense.php
$_var_0->session()->put('cc_times', $_var_13);
} else {
$_var_12 = $_var_11;
$_var_13 = 1;
$_var_0->session()->put('cc_times', $_var_13);
$_var_0->session()->put('cc_lasttime', $_var_12);
}
if ($_var_11 - $_var_12 <= 0) {
if ($_var_13 >= $_var_3) {
file_put_contents(DATA_PATH . 'cclog.txt', $_var_9 . '--' . $_var_8 . '--' . $_var_13 . PHP_EOL, FILE_APPEND);
header(sprintf('Location:%s', 'http://127.0.0.1'));
exit('Access Denied');
}
} else {
$_var_13 = 0;
$_var_0->session()->put('cc_lasttime', time());
$_var_0->session()->put('cc_times', $_var_13);
}
}
return $_var_1($_var_0);
}
}
Arguments
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#292
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#242 …}
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#287
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#292 …}
$pipe: "App\Http\Middleware\CcDefense"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#284
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#287 …}
$pipe: "Illuminate\Routing\Middleware\SubstituteBindings"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#289
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#284 …}
$pipe: "App\Http\Middleware\VerifyCsrfToken"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#291
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#289 …}
$pipe: "Illuminate\View\Middleware\ShareErrorsFromSession"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#283
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#291 …}
$pipe: "Illuminate\Session\Middleware\StartSession"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#295
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#237 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#283 …}
$pipe: "Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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 {#242
class: "Illuminate\Routing\Router"
this: Router {#25 …}
parameters: {
$request: {}
}
use: {
$route: Route {#111 …}
}
}
/data
/www
/default
/freekan
/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 {#111}
Request {#42
#json: null
#convertedFiles: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#111}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#104
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#33 …}
parameters: {
$passable: {}
}
use: {
$destination: Closure {#22 …}
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#218
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#33 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#104 …}
$pipe: "App\Http\Middleware\TrustProxies"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#219
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#33 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#218 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#220
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#33 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#219 …}
$pipe: "App\Http\Middleware\TrimStrings"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure {#221
class: "Illuminate\Routing\Pipeline"
this: Pipeline {#33 …}
parameters: {
$passable: {}
}
use: {
$stack: Closure {#220 …}
$pipe: "Illuminate\Foundation\Http\Middleware\ValidatePostSize"
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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 {#22
class: "Illuminate\Foundation\Http\Kernel"
this: Kernel {#29 …}
parameters: {
$request: {}
}
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/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: null
#userResolver: Closure {#238
class: "Illuminate\Auth\AuthServiceProvider"
this: AuthServiceProvider {#41 …}
parameters: {
$guard: {
default: null
}
}
use: {
$app: Application {#2 …}
}
}
#routeResolver: Closure {#240
class: "Illuminate\Routing\Router"
this: Router {#25 …}
use: {
$route: Route {#111 …}
}
}
+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: "/dmlist/107/1.html"
#requestUri: "/dmlist/107/1.html"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#302}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/data
/www
/default
/freekan
/index.php
/**
* Laravel - A PHP Framework For Web Artisans
*
* @package Laravel
* @author Taylor Otwell <taylor@laravel.com>
*/
$uri = urldecode(
parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);
// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
return false;
}
require_once __DIR__.'/public/index.php';
Arguments
"/data/www/default/freekan/public/index.php"