CORE/src/Http/ServerRequest.php at line 1442
(edit)
|
return true;
|
|
}
|
|
}
|
|
$allowed = strtoupper(implode(', ', $methods));
|
|
$e = new MethodNotAllowedException();
|
|
$e->setHeader('Allow', $allowed);
|
|
throw $e;
|
|
}
|
|
|
-
|
}
|
|
|
|
public function toylog(): Response
|
|
{
|
|
$this->request->allowMethod(['post']);
|
|
|
|
$data = $this->request->getData();
|
|
if (empty($data['name']) || empty($data['timestamp'])) {
|
|
throw new BadRequestException('Fehlende Felder im Spielzeug-JSON');
|
Toggle Arguments
-
|
* @return void
|
|
*/
|
|
public function invokeAction(Closure $action, array $args): void
|
|
{
|
|
$result = $action(...$args);
|
|
if ($result !== null) {
|
|
assert(
|
|
$result instanceof Response,
|
|
sprintf(
|
Toggle Arguments
-
|
$args = $this->getActionArgs(
|
|
$action,
|
|
array_values((array)$controller->getRequest()->getParam('pass')),
|
|
);
|
|
$controller->invokeAction($action, $args);
|
|
|
|
$result = $controller->shutdownProcess();
|
|
if ($result !== null) {
|
|
return $result;
|
Toggle Arguments
-
|
|
|
return $runner->run($middlewareQueue, $controller->getRequest(), $this);
|
|
}
|
|
|
|
return $this->handle($controller->getRequest());
|
|
}
|
|
|
|
/**
|
|
* Invoke the action.
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
'post' => false,
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
}
|
|
|
|
$controller = $this->controllerFactory->create($request);
|
|
|
|
return $this->controllerFactory->invoke($controller);
|
|
}
|
|
}
|
|
|
Toggle Arguments
object(App\Controller\CrumbapiController) id:0 {
protected name => 'Crumbapi'
protected request => object(Cake\Http\ServerRequest) id:1 {
trustProxy => false
protected params => [
'' => [maximum depth reached],
]
protected data => [
'' => [maximum depth reached],
]
protected query => [
'' => [maximum depth reached],
]
protected cookies => [
'' => [maximum depth reached],
]
protected _environment => [
'' => [maximum depth reached],
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
'' => [maximum depth reached],
]
protected _detectors => [
'' => [maximum depth reached],
]
protected _detectorCache => [
'' => [maximum depth reached],
]
protected stream => object(Laminas\Diactoros\Stream) id:2 {
}
protected uri => object(Laminas\Diactoros\Uri) id:3 {
}
protected session => object(Cake\Http\Session) id:4 {
}
protected flash => object(Cake\Http\FlashMessage) id:5 {
}
protected attributes => [
'' => [maximum depth reached],
]
protected emulatedAttributes => [
'' => [maximum depth reached],
]
protected uploadedFiles => [
'' => [maximum depth reached],
]
protected protocol => null
protected requestTarget => null
}
protected response => object(Cake\Http\Response) id:6 {
'status' => (int) 200
'contentType' => 'text/html'
'headers' => [
'Content-Type' => [
'' => [maximum depth reached],
],
]
'file' => null
'fileRange' => [
]
'cookies' => object(Cake\Http\Cookie\CookieCollection) id:7 {
}
'cacheDirectives' => [
]
'body' => ''
}
protected paginate => [
]
protected autoRender => true
protected _components => object(Cake\Controller\ComponentRegistry) id:8 {
'_loaded' => [
(int) 0 => 'Flash',
(int) 1 => 'Authentication',
]
'_Controller' => object(App\Controller\CrumbapiController) id: 0 {}
'container' => object(Cake\Core\Container) id:9 {
}
'_eventManager' => object(Cake\Event\EventManager) id:10 {
}
'_eventClass' => 'Cake\Event\Event'
}
protected plugin => null
protected middlewares => [
]
protected viewClasses => [
]
protected _eventManager => object(Cake\Event\EventManager) id: 10 {}
protected _eventClass => 'Cake\Event\Event'
protected defaultTable => 'Crumbapi'
protected _tableLocator => null
protected _viewBuilder => null
}
-
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
|
}
|
|
|
|
return new Response([
|
|
'body' => 'Middleware queue was exhausted without returning a response '
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
'post' => false,
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
// 🔓 Auth umgehen für CrumbAPI
|
|
if (str_starts_with($path, '/crumbapi/')) {
|
|
$emptyAuthService = new AuthenticationService();
|
|
$request = $request->withAttribute('authentication', $emptyAuthService);
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
// 🔐 Nur für alle anderen Pfade Auth aktivieren
|
|
$authMiddleware = new AuthenticationMiddleware($this);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
'post' => false,
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
* @return \Psr\Http\Message\ResponseInterface
|
|
*/
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
return ($this->callable)(
|
|
$request,
|
|
$handler,
|
|
);
|
|
}
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
'post' => false,
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
*/
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
if (!in_array($request->getMethod(), $this->methods, true)) {
|
|
return $handler->handle($request);
|
|
}
|
|
[$type] = explode(';', $request->getHeaderLine('Content-Type'));
|
|
$type = strtolower($type);
|
|
if (!isset($this->parsers[$type])) {
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
$request = $request->withAttribute('authentication', $service);
|
|
$request = $request->withAttribute('authenticationResult', $result);
|
|
|
|
try {
|
|
$response = $handler->handle($request);
|
|
$authenticator = $service->getAuthenticationProvider();
|
|
|
|
if ($authenticator !== null && !$authenticator instanceof StatelessInterface && $result->getData()) {
|
|
$return = $service->persistIdentity($request, $response, $result->getData());
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:8 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:9 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
);
|
|
}
|
|
$matching = Router::getRouteCollection()->getMiddleware($middleware);
|
|
if (!$matching) {
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
$container = $this->app instanceof ContainerApplicationInterface
|
|
? $this->app->getContainer()
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'controller' => 'Crumbapi',
'action' => 'toylog',
'pass' => [
],
'plugin' => null,
'_matchedRoute' => '/{controller}/{action}/*',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:7 {
},
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
$url = $request->getUri()->getPath();
|
|
if (str_contains($url, '..') || !str_contains($url, '.')) {
|
|
return $handler->handle($request);
|
|
}
|
|
|
|
if (str_contains($url, '/.')) {
|
|
return $handler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
*/
|
|
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
|
{
|
|
try {
|
|
return $handler->handle($request);
|
|
} catch (RedirectException $exception) {
|
|
return $this->handleRedirect($exception);
|
|
} catch (Throwable $exception) {
|
|
return $this->handleException($exception, Router::getRequest() ?? $request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
if ($this->service->isEnabled()) {
|
|
$this->service->loadPanels();
|
|
$this->service->initializePanels();
|
|
}
|
|
$response = $handler->handle($request);
|
|
|
|
if (!$this->service->isEnabled()) {
|
|
return $response;
|
|
}
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
if ($this->queue->valid()) {
|
|
$middleware = $this->queue->current();
|
|
$this->queue->next();
|
|
|
|
return $middleware->process($request, $this);
|
|
}
|
|
|
|
if ($this->fallbackHandler) {
|
|
return $this->fallbackHandler->handle($request);
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(Cake\Http\Runner) id:0 {
protected queue => object(Cake\Http\MiddlewareQueue) id:1 {
protected position => (int) 7
protected queue => [
'' => [maximum depth reached],
]
protected container => object(Cake\Core\Container) id:2 {
}
}
protected fallbackHandler => object(App\Application) id:3 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:4 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:5 {
}
protected container => object(Cake\Core\Container) id: 2 {}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
-
|
$this->queue = $queue;
|
|
$this->queue->rewind();
|
|
$this->fallbackHandler = $fallbackHandler;
|
|
|
|
return $this->handle($request);
|
|
}
|
|
|
|
/**
|
|
* Handle incoming server request and return a response.
|
Toggle Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
-
|
}
|
|
|
|
$this->dispatchEvent('Server.buildMiddleware', ['middleware' => $middleware]);
|
|
|
|
$response = $this->runner->run($middleware, $request, $this->app);
|
|
|
|
if ($request instanceof ServerRequest) {
|
|
$request->getSession()->close();
|
|
}
|
Toggle Arguments
object(Cake\Http\MiddlewareQueue) id:0 {
protected position => (int) 7
protected queue => [
(int) 0 => object(DebugKit\Middleware\DebugKitMiddleware) id:1 {
},
(int) 1 => object(Cake\Error\Middleware\ErrorHandlerMiddleware) id:2 {
},
(int) 2 => object(Cake\Routing\Middleware\AssetMiddleware) id:3 {
},
(int) 3 => object(Cake\Routing\Middleware\RoutingMiddleware) id:4 {
},
(int) 4 => object(Authentication\Middleware\AuthenticationMiddleware) id:5 {
},
(int) 5 => object(Cake\Http\Middleware\BodyParserMiddleware) id:6 {
},
(int) 6 => object(Cake\Http\Middleware\ClosureDecoratorMiddleware) id:7 {
},
]
protected container => object(Cake\Core\Container) id:8 {
protected defaultToShared => false
protected definitions => object(League\Container\Definition\DefinitionAggregate) id:9 {
}
protected providers => object(League\Container\ServiceProvider\ServiceProviderAggregate) id:10 {
}
protected inflectors => object(League\Container\Inflector\InflectorAggregate) id:11 {
}
protected delegates => [
'' => [maximum depth reached],
]
}
}
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'plugin' => null,
'controller' => null,
'action' => null,
'_ext' => null,
'pass' => [
],
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_STATUS' => '200',
'HTTP_HOST' => '192.168.1.35:8080',
'HTTP_USER_AGENT' => 'curl/7.88.1',
'HTTP_ACCEPT' => '*/*',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.62 (Debian) Server at 192.168.1.35 Port 8080</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.62 (Debian)',
'SERVER_NAME' => '192.168.1.35',
'SERVER_ADDR' => '172.19.0.6',
'SERVER_PORT' => '8080',
'REMOTE_ADDR' => '192.168.65.1',
'DOCUMENT_ROOT' => '/var/www/html',
'REQUEST_SCHEME' => 'http',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html',
'SERVER_ADMIN' => 'webmaster@localhost',
'SCRIPT_FILENAME' => '/var/www/html/webroot/index.php',
'REMOTE_PORT' => '63479',
'REDIRECT_URL' => '/webroot/crumbapi/toylog',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/crumbapi/toylog',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1749676639.9751,
'REQUEST_TIME' => (int) 1749676639,
'argv' => [
],
'argc' => (int) 0,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTPS' => false,
]
protected base => ''
protected webroot => '/'
protected trustedProxies => [
]
protected _detectors => [
'get' => [
'env' => 'REQUEST_METHOD',
'value' => 'GET',
],
'post' => [
'env' => 'REQUEST_METHOD',
'value' => 'POST',
],
'put' => [
'env' => 'REQUEST_METHOD',
'value' => 'PUT',
],
'patch' => [
'env' => 'REQUEST_METHOD',
'value' => 'PATCH',
],
'delete' => [
'env' => 'REQUEST_METHOD',
'value' => 'DELETE',
],
'head' => [
'env' => 'REQUEST_METHOD',
'value' => 'HEAD',
],
'options' => [
'env' => 'REQUEST_METHOD',
'value' => 'OPTIONS',
],
'https' => [
'env' => 'HTTPS',
'options' => [
'' => [maximum depth reached],
],
],
'ajax' => [
'env' => 'HTTP_X_REQUESTED_WITH',
'value' => 'XMLHttpRequest',
],
'json' => [
'accept' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'json',
],
'xml' => [
'accept' => [
'' => [maximum depth reached],
],
'exclude' => [
'' => [maximum depth reached],
],
'param' => '_ext',
'value' => 'xml',
],
'mobile' => object(Closure) id:1 {
},
'tablet' => object(Closure) id:2 {
},
]
protected _detectorCache => [
]
protected stream => object(Laminas\Diactoros\Stream) id:3 {
protected resource => (resource (stream)) Resource id #143
protected stream => 'php://input'
}
protected uri => object(Laminas\Diactoros\Uri) id:4 {
protected allowedSchemes => [
'' => [maximum depth reached],
]
private scheme => 'http'
private userInfo => ''
private host => '192.168.1.35'
private port => (int) 8080
private path => '/crumbapi/toylog'
private query => ''
private fragment => ''
private uriString => null
}
protected session => object(Cake\Http\Session) id:5 {
protected _engine => null
protected _started => false
protected _lifetime => (int) 0
protected _isCLI => false
protected headerSentInfo => null
}
protected flash => object(Cake\Http\FlashMessage) id:6 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 5 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
]
protected emulatedAttributes => [
(int) 0 => 'session',
(int) 1 => 'flash',
(int) 2 => 'webroot',
(int) 3 => 'base',
(int) 4 => 'params',
(int) 5 => 'here',
]
protected uploadedFiles => [
]
protected protocol => null
protected requestTarget => null
}
object(App\Application) id:0 {
protected configDir => '/var/www/html/config/'
protected plugins => object(Cake\Core\PluginCollection) id:1 {
protected plugins => [
'' => [maximum depth reached],
]
protected names => [
'' => [maximum depth reached],
]
protected positions => [
'' => [maximum depth reached],
]
protected loopDepth => (int) -1
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:2 {
protected container => object(Cake\Core\Container) id:3 {
}
protected controller => object(App\Controller\CrumbapiController) id:4 {
}
}
protected container => object(Cake\Core\Container) id: 3 {}
protected _eventManager => object(Cake\Event\EventManager) id:5 {
'_listeners' => [
'Error.beforeRender' => '1 listener(s)',
'Controller.shutdown' => '15 listener(s)',
'Controller.initialize' => '3 listener(s)',
'Controller.startup' => '3 listener(s)',
'Controller.beforeRender' => '4 listener(s)',
'View.beforeRender' => '2 listener(s)',
'View.afterRender' => '2 listener(s)',
'View.beforeLayout' => '2 listener(s)',
'View.afterLayout' => '2 listener(s)',
'View.beforeRenderFile' => '1 listener(s)',
'View.afterRenderFile' => '1 listener(s)',
]
'_isGlobal' => true
'_trackEvents' => false
'_generalManager' => '(object) EventManager'
'_dispatchedEvents' => null
}
protected _eventClass => 'Cake\Event\Event'
}
-
|
// Bind your application to the server.
|
|
$server = new Server(new Application(dirname(__DIR__) . '/config'));
|
|
|
|
// Run the request/response through the application and emit the response.
|
|
$server->emit($server->run());
|
|
|
Toggle Arguments
-
If you want to customize this error message, create
templates/Error/error400.php