Notice (8)
: file_put_contents() [<a href='https://secure.php.net/function.file-put-contents'>function.file-put-contents</a>]: write of 2340 bytes failed with errno=28 No space left on device [in
/var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php, line
140]
Code
if (!$mask) {
file_put_contents($pathname, $message . "\n", FILE_APPEND);
file_put_contents [internal], line ??
Cake\Log\Engine\FileLog::log() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php, line 140
Cake\Log\Log::write() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Log.php, line 392
Cake\Log\Log::error() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Log.php, line 461
Cake\Error\ErrorLogger::logException() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/ErrorLogger.php, line 99
Cake\Error\ExceptionTrap::logException() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/ExceptionTrap.php, line 357
Cake\Error\Middleware\ErrorHandlerMiddleware::handleException() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php, line 150
Cake\Error\Middleware\ErrorHandlerMiddleware::process() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php, line 135
Cake\Http\Runner::handle() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Runner.php, line 73
Cake\Http\Runner::run() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Runner.php, line 58
Cake\Http\Server::run() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Server.php, line 90
[main] /var/www/html/clients-api.runsmart.co.uk/webroot/index.php, line 40
Warning (2)
: file_put_contents() [<a href='https://secure.php.net/function.file-put-contents'>function.file-put-contents</a>]: Only 382 of 2722 bytes written, possibly out of free disk space [in
/var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php, line
140]
Code
if (!$mask) {
file_put_contents($pathname, $message . "\n", FILE_APPEND);
file_put_contents [internal], line ??
Cake\Log\Engine\FileLog::log() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php, line 140
Cake\Log\Log::write() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Log.php, line 392
Cake\Log\Log::error() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Log/Log.php, line 461
Cake\Error\ErrorLogger::logException() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/ErrorLogger.php, line 99
Cake\Error\ExceptionTrap::logException() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/ExceptionTrap.php, line 357
Cake\Error\Middleware\ErrorHandlerMiddleware::handleException() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php, line 150
Cake\Error\Middleware\ErrorHandlerMiddleware::process() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Middleware/ErrorHandlerMiddleware.php, line 135
Cake\Http\Runner::handle() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Runner.php, line 73
Cake\Http\Runner::run() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Runner.php, line 58
Cake\Http\Server::run() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Server.php, line 90
[main] /var/www/html/clients-api.runsmart.co.uk/webroot/index.php, line 40
Warning (512)
: Unable to emit headers. Headers sent in file=/var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Renderer/HtmlErrorRenderer.php line=36 [in
/var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line
71]
Code
$message = "Unable to emit headers. Headers sent in file=$file line=$line";
trigger_error($message, E_USER_WARNING);
}
Cake\Http\ResponseEmitter::emit() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 71
Cake\Http\Server::emit() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Server.php, line 128
[main] /var/www/html/clients-api.runsmart.co.uk/webroot/index.php, line 40
Warning (2)
: Cannot modify header information - headers already sent by (output started at /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Renderer/HtmlErrorRenderer.php:36) [in
/var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line
168]
Code
$response->getStatusCode(),
($reasonPhrase ? ' ' . $reasonPhrase : '')
));
header [internal], line ??
Cake\Http\ResponseEmitter::emitStatusLine() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 168
Cake\Http\ResponseEmitter::emit() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 74
Cake\Http\Server::emit() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Server.php, line 128
[main] /var/www/html/clients-api.runsmart.co.uk/webroot/index.php, line 40
Warning (2)
: Cannot modify header information - headers already sent by (output started at /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Error/Renderer/HtmlErrorRenderer.php:36) [in
/var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line
197]
Code
foreach ($values as $value) {
header(sprintf(
'%s: %s',
header [internal], line ??
Cake\Http\ResponseEmitter::emitHeaders() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 197
Cake\Http\ResponseEmitter::emit() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/ResponseEmitter.php, line 75
Cake\Http\Server::emit() /var/www/html/clients-api.runsmart.co.uk/vendor/cakephp/cakephp/src/Http/Server.php, line 128
[main] /var/www/html/clients-api.runsmart.co.uk/webroot/index.php, line 40
|
*/ |
|
public function startup(): void |
|
{ |
|
if ($this->getConfig('identityCheckEvent') === 'Controller.startup') { |
|
$this->doIdentityCheck(); |
|
} |
|
} |
|
|
|
/** |
|
protected function _callListener(callable $listener, EventInterface $event) |
|
{ |
|
$data = (array)$event->getData(); |
|
|
|
return $listener($event, ...array_values($data)); |
|
} |
|
|
|
/** |
|
* @inheritDoc |
Arguments
object(Cake\Event\Event) id:0 {
protected _name => 'Controller.startup'
protected _subject => object(App\Controller\PagesController) id:1 {
paginate => [
'' => [maximum depth reached],
]
RequestHandler => object(Cake\Controller\Component\RequestHandlerComponent) id:2 {
}
Flash => object(Cake\Controller\Component\FlashComponent) id:3 {
}
Authentication => object(Authentication\Controller\Component\AuthenticationComponent) id:4 {
}
Authorization => object(Authorization\Controller\Component\AuthorizationComponent) id:5 {
}
protected name => 'Pages'
protected request => object(Cake\Http\ServerRequest) id:6 {
}
protected response => object(Cake\Http\Response) id:7 {
}
protected autoRender => true
protected _components => object(Cake\Controller\ComponentRegistry) id:8 {
}
protected plugin => null
protected middlewares => [
'' => [maximum depth reached],
]
protected _eventManager => object(Cake\Event\EventManager) id:9 {
}
protected _eventClass => 'Cake\Event\Event'
protected defaultTable => 'Pages'
protected _tableLocator => object(Cake\ORM\Locator\TableLocator) id:10 {
}
protected modelClass => 'Pages'
protected _modelFactories => [
'' => [maximum depth reached],
]
protected _modelType => 'Table'
protected _viewBuilder => null
}
protected _data => [
]
protected result => null
protected _stopped => false
}
|
foreach ($listeners as $listener) { |
|
if ($event->isStopped()) { |
|
break; |
|
} |
|
$result = $this->_callListener($listener['callable'], $event); |
|
if ($result === false) { |
|
$event->stopPropagation(); |
|
} |
|
if ($result !== null) { |
Arguments
[
(int) 0 => object(Authentication\Controller\Component\AuthenticationComponent) id:0 {
'components' => [
]
'implementedEvents' => [
'Controller.initialize' => 'beforeFilter',
'Controller.startup' => 'startup',
]
'_config' => [
'logoutRedirect' => false,
'requireIdentity' => true,
'identityAttribute' => 'identity',
'identityCheckEvent' => 'Controller.startup',
'unauthenticatedMessage' => null,
]
},
(int) 1 => 'startup',
]
object(Cake\Event\Event) id:0 {
protected _name => 'Controller.startup'
protected _subject => object(App\Controller\PagesController) id:1 {
paginate => [
'' => [maximum depth reached],
]
RequestHandler => object(Cake\Controller\Component\RequestHandlerComponent) id:2 {
}
Flash => object(Cake\Controller\Component\FlashComponent) id:3 {
}
Authentication => object(Authentication\Controller\Component\AuthenticationComponent) id:4 {
}
Authorization => object(Authorization\Controller\Component\AuthorizationComponent) id:5 {
}
protected name => 'Pages'
protected request => object(Cake\Http\ServerRequest) id:6 {
}
protected response => object(Cake\Http\Response) id:7 {
}
protected autoRender => true
protected _components => object(Cake\Controller\ComponentRegistry) id:8 {
}
protected plugin => null
protected middlewares => [
'' => [maximum depth reached],
]
protected _eventManager => object(Cake\Event\EventManager) id:9 {
}
protected _eventClass => 'Cake\Event\Event'
protected defaultTable => 'Pages'
protected _tableLocator => object(Cake\ORM\Locator\TableLocator) id:10 {
}
protected modelClass => 'Pages'
protected _modelFactories => [
'' => [maximum depth reached],
]
protected _modelType => 'Table'
protected _viewBuilder => null
}
protected _data => [
]
protected result => null
protected _stopped => false
}
|
} |
|
|
|
/** @var \Cake\Event\EventInterface $event */ |
|
$event = new $this->_eventClass($name, $subject, $data); |
|
$this->getEventManager()->dispatch($event); |
|
|
|
return $event; |
|
} |
|
} |
Arguments
object(Cake\Event\Event) id:0 {
protected _name => 'Controller.startup'
protected _subject => object(App\Controller\PagesController) id:1 {
paginate => [
'' => [maximum depth reached],
]
RequestHandler => object(Cake\Controller\Component\RequestHandlerComponent) id:2 {
}
Flash => object(Cake\Controller\Component\FlashComponent) id:3 {
}
Authentication => object(Authentication\Controller\Component\AuthenticationComponent) id:4 {
}
Authorization => object(Authorization\Controller\Component\AuthorizationComponent) id:5 {
}
protected name => 'Pages'
protected request => object(Cake\Http\ServerRequest) id:6 {
}
protected response => object(Cake\Http\Response) id:7 {
}
protected autoRender => true
protected _components => object(Cake\Controller\ComponentRegistry) id:8 {
}
protected plugin => null
protected middlewares => [
'' => [maximum depth reached],
]
protected _eventManager => object(Cake\Event\EventManager) id:9 {
}
protected _eventClass => 'Cake\Event\Event'
protected defaultTable => 'Pages'
protected _tableLocator => object(Cake\ORM\Locator\TableLocator) id:10 {
}
protected modelClass => 'Pages'
protected _modelFactories => [
'' => [maximum depth reached],
]
protected _modelType => 'Table'
protected _viewBuilder => null
}
protected _data => [
]
protected result => null
protected _stopped => false
}
|
$event = $this->dispatchEvent('Controller.initialize'); |
|
if ($event->getResult() instanceof ResponseInterface) { |
|
return $event->getResult(); |
|
} |
|
$event = $this->dispatchEvent('Controller.startup'); |
|
if ($event->getResult() instanceof ResponseInterface) { |
|
return $event->getResult(); |
|
} |
|
|
|
$controller = $this->controller; |
|
/** @psalm-suppress ArgumentTypeCoercion */ |
|
$controller->setRequest($request); |
|
|
|
$result = $controller->startupProcess(); |
|
if ($result instanceof ResponseInterface) { |
|
return $result; |
|
} |
|
|
|
|
|
return $runner->run($middlewareQueue, $controller->getRequest(), $this); |
|
} |
|
|
|
return $this->handle($controller->getRequest()); |
|
} |
|
|
|
/** |
|
* Invoke the action. |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTP_X_REQUESTED_WITH' => null,
]
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',
],
'ssl' => [
'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 => [
'ajax' => false,
]
protected stream => object(Laminas\Diactoros\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
'authorization' => object(Authorization\AuthorizationService) id:11 {
},
]
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); |
|
} |
|
} |
|
|
Arguments
object(App\Controller\PagesController) id:0 {
paginate => [
]
RequestHandler => object(Cake\Controller\Component\RequestHandlerComponent) id:1 {
'components' => [
]
'implementedEvents' => [
'Controller.startup' => 'startup',
'Controller.beforeRender' => 'beforeRender',
]
'_config' => [
'checkHttpCache' => true,
'viewClassMap' => [
'' => [maximum depth reached],
],
]
}
Flash => object(Cake\Controller\Component\FlashComponent) id:2 {
'components' => [
]
'implementedEvents' => [
]
'_config' => [
'key' => 'flash',
'element' => 'default',
'plugin' => null,
'params' => [
'' => [maximum depth reached],
],
'clear' => false,
'duplicate' => true,
]
}
Authentication => object(Authentication\Controller\Component\AuthenticationComponent) id:3 {
'components' => [
]
'implementedEvents' => [
'Controller.initialize' => 'beforeFilter',
'Controller.startup' => 'startup',
]
'_config' => [
'logoutRedirect' => false,
'requireIdentity' => true,
'identityAttribute' => 'identity',
'identityCheckEvent' => 'Controller.startup',
'unauthenticatedMessage' => null,
]
}
Authorization => object(Authorization\Controller\Component\AuthorizationComponent) id:4 {
'components' => [
]
'implementedEvents' => [
'Controller.startup' => 'authorizeAction',
]
'_config' => [
'identityAttribute' => 'identity',
'serviceAttribute' => 'authorization',
'authorizationEvent' => 'Controller.startup',
'skipAuthorization' => [
'' => [maximum depth reached],
],
'authorizeModel' => [
'' => [maximum depth reached],
],
'actionMap' => [
'' => [maximum depth reached],
],
]
}
protected name => 'Pages'
protected request => object(Cake\Http\ServerRequest) id:5 {
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\PhpInputStream) id:6 {
}
protected uri => object(Cake\Http\Uri) id:7 {
}
protected session => object(Cake\Http\Session) id:8 {
}
protected flash => object(Cake\Http\FlashMessage) id:9 {
}
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:10 {
'status' => (int) 200
'contentType' => 'text/html'
'headers' => [
'Content-Type' => [
'' => [maximum depth reached],
],
]
'file' => null
'fileRange' => [
]
'cookies' => object(Cake\Http\Cookie\CookieCollection) id:11 {
}
'cacheDirectives' => [
]
'body' => ''
}
protected autoRender => true
protected _components => object(Cake\Controller\ComponentRegistry) id:12 {
'_Controller' => object(App\Controller\PagesController) id: 0 {}
'_loaded' => [
(int) 0 => 'RequestHandler',
(int) 1 => 'Flash',
(int) 2 => 'Authentication',
(int) 3 => 'Authorization',
]
'_eventManager' => object(Cake\Event\EventManager) id:13 {
}
'_eventClass' => 'Cake\Event\Event'
}
protected plugin => null
protected middlewares => [
]
protected _eventManager => object(Cake\Event\EventManager) id: 13 {}
protected _eventClass => 'Cake\Event\Event'
protected defaultTable => 'Pages'
protected _tableLocator => object(Cake\ORM\Locator\TableLocator) id:14 {
protected locations => [
'' => [maximum depth reached],
]
protected _config => [
'' => [maximum depth reached],
]
protected instances => [
'' => [maximum depth reached],
]
protected _fallbacked => [
'' => [maximum depth reached],
]
protected fallbackClassName => 'Cake\ORM\Table'
protected allowFallbackClass => false
protected options => [
'' => [maximum depth reached],
]
}
protected modelClass => 'Pages'
protected _modelFactories => [
'Table' => [
(int) 0 => object(Cake\ORM\Locator\TableLocator) id: 14 {},
(int) 1 => 'get',
],
]
protected _modelType => 'Table'
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 ' |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTP_X_REQUESTED_WITH' => null,
]
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',
],
'ssl' => [
'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 => [
'ajax' => false,
]
protected stream => object(Laminas\Diactoros\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
'authorization' => object(Authorization\AuthorizationService) id:11 {
},
]
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
}
|
$request = $request->withAttribute($attribute, $identity); |
|
} |
|
|
|
try { |
|
$response = $handler->handle($request); |
|
|
|
if ($this->getConfig('requireAuthorizationCheck') && !$service->authorizationChecked()) { |
|
throw new AuthorizationRequiredException(['url' => $request->getRequestTarget()]); |
|
} |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTP_X_REQUESTED_WITH' => null,
]
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',
],
'ssl' => [
'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 => [
'ajax' => false,
]
protected stream => object(Laminas\Diactoros\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
'authorization' => object(Authorization\AuthorizationService) id:11 {
},
]
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); |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
'HTTP_X_REQUESTED_WITH' => null,
]
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',
],
'ssl' => [
'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 => [
'ajax' => false,
]
protected stream => object(Laminas\Diactoros\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
'authorization' => object(Authorization\AuthorizationService) id:11 {
},
]
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) 6
protected queue => [
'' => [maximum depth reached],
]
}
protected fallbackHandler => object(App\Application) id:2 {
protected configDir => '/var/www/html/clients-api.runsmart.co.uk/config/'
protected plugins => object(Cake\Core\PluginCollection) id:3 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:4 {
}
protected container => object(Cake\Core\Container) id:5 {
}
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) { |
|
$return = $service->persistIdentity($request, $response, $result->getData()); |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
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); |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
'identity' => null,
'authentication' => object(Authentication\AuthenticationService) id:9 {
},
'authenticationResult' => object(Authentication\Authenticator\Result) id:10 {
},
]
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) 6
protected queue => [
'' => [maximum depth reached],
]
}
protected fallbackHandler => object(App\Application) id:2 {
protected configDir => '/var/www/html/clients-api.runsmart.co.uk/config/'
protected plugins => object(Cake\Core\PluginCollection) id:3 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:4 {
}
protected container => object(Cake\Core\Container) id:5 {
}
protected _eventManager => object(Cake\Event\EventManager) id:6 {
}
protected _eventClass => 'Cake\Event\Event'
}
}
|
); |
|
} |
|
$matching = Router::getRouteCollection()->getMiddleware($middleware); |
|
if (!$matching) { |
|
return $handler->handle($request); |
|
} |
|
|
|
$middleware = new MiddlewareQueue($matching); |
|
$runner = new Runner(); |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
]
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); |
Arguments
object(Cake\Http\ServerRequest) id:0 {
trustProxy => false
protected params => [
'pass' => [
(int) 0 => 'home',
],
'controller' => 'Pages',
'action' => 'display',
'plugin' => null,
'_matchedRoute' => '/',
'_ext' => null,
]
protected data => [
]
protected query => [
]
protected cookies => [
]
protected _environment => [
'REDIRECT_REDIRECT_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
protected _config => [
'' => [maximum depth reached],
]
protected _configInitialized => true
}
protected attributes => [
'route' => object(Cake\Routing\Route\DashedRoute) id:8 {
},
]
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) 6
protected queue => [
'' => [maximum depth reached],
]
}
protected fallbackHandler => object(App\Application) id:2 {
protected configDir => '/var/www/html/clients-api.runsmart.co.uk/config/'
protected plugins => object(Cake\Core\PluginCollection) id:3 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:4 {
}
protected container => object(Cake\Core\Container) id:5 {
}
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])) { |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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); |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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) 6
protected queue => [
'' => [maximum depth reached],
]
}
protected fallbackHandler => object(App\Application) id:2 {
protected configDir => '/var/www/html/clients-api.runsmart.co.uk/config/'
protected plugins => object(Cake\Core\PluginCollection) id:3 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:4 {
}
protected container => object(Cake\Core\Container) id:5 {
}
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 (strpos($url, '..') !== false || strpos($url, '.') === false) { |
|
return $handler->handle($request); |
|
} |
|
|
|
if (strpos($url, '/.') !== false) { |
|
return $handler->handle($request); |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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); |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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) 6
protected queue => [
'' => [maximum depth reached],
]
}
protected fallbackHandler => object(App\Application) id:2 {
protected configDir => '/var/www/html/clients-api.runsmart.co.uk/config/'
protected plugins => object(Cake\Core\PluginCollection) id:3 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:4 {
}
protected container => object(Cake\Core\Container) id:5 {
}
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, $request); |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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); |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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) 6
protected queue => [
'' => [maximum depth reached],
]
}
protected fallbackHandler => object(App\Application) id:2 {
protected configDir => '/var/www/html/clients-api.runsmart.co.uk/config/'
protected plugins => object(Cake\Core\PluginCollection) id:3 {
}
protected controllerFactory => object(Cake\Controller\ControllerFactory) id:4 {
}
protected container => object(Cake\Core\Container) id:5 {
}
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. |
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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(); |
|
} |
Arguments
object(Cake\Http\MiddlewareQueue) id:0 {
protected position => (int) 6
protected queue => [
(int) 0 => object(Cake\Error\Middleware\ErrorHandlerMiddleware) id:1 {
},
(int) 1 => object(Cake\Routing\Middleware\AssetMiddleware) id:2 {
},
(int) 2 => object(Cake\Http\Middleware\BodyParserMiddleware) id:3 {
},
(int) 3 => object(Cake\Routing\Middleware\RoutingMiddleware) id:4 {
},
(int) 4 => object(Authentication\Middleware\AuthenticationMiddleware) id:5 {
},
(int) 5 => object(Authorization\Middleware\AuthorizationMiddleware) id:6 {
},
]
}
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_HTTPS' => 'on',
'REDIRECT_REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_REDIRECT_STATUS' => '200',
'REDIRECT_HTTPS' => 'on',
'REDIRECT_SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'REDIRECT_STATUS' => '200',
'HTTPS' => 'on',
'SSL_TLS_SNI' => 'clients-api.runsmart.co.uk',
'HTTP_ACCEPT' => '*/*',
'HTTP_USER_AGENT' => 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)',
'HTTP_ACCEPT_ENCODING' => 'gzip, br, zstd, deflate',
'HTTP_HOST' => 'clients-api.runsmart.co.uk',
'PATH' => '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin',
'SERVER_SIGNATURE' => '<address>Apache/2.4.29 (Ubuntu) Server at clients-api.runsmart.co.uk Port 443</address>
',
'SERVER_SOFTWARE' => 'Apache/2.4.29 (Ubuntu)',
'SERVER_NAME' => 'clients-api.runsmart.co.uk',
'SERVER_ADDR' => '46.101.86.76',
'SERVER_PORT' => '443',
'REMOTE_ADDR' => '216.73.216.136',
'DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'REQUEST_SCHEME' => 'https',
'CONTEXT_PREFIX' => '',
'CONTEXT_DOCUMENT_ROOT' => '/var/www/html/clients-api.runsmart.co.uk/',
'SERVER_ADMIN' => 'dev-team@mmandbstudio.co.uk',
'SCRIPT_FILENAME' => '/var/www/html/clients-api.runsmart.co.uk/webroot/index.php',
'REMOTE_PORT' => '48884',
'REDIRECT_URL' => '/webroot/',
'GATEWAY_INTERFACE' => 'CGI/1.1',
'SERVER_PROTOCOL' => 'HTTP/1.1',
'REQUEST_METHOD' => 'GET',
'QUERY_STRING' => '',
'REQUEST_URI' => '/',
'SCRIPT_NAME' => '/webroot/index.php',
'PHP_SELF' => '/webroot/index.php',
'REQUEST_TIME_FLOAT' => (float) 1765451425.25,
'REQUEST_TIME' => (int) 1765451425,
'ORIGINAL_REQUEST_METHOD' => 'GET',
]
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',
],
'ssl' => [
'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\PhpInputStream) id:3 {
protected resource => (resource) Resource id #5
protected stream => 'php://input'
private cache => ''
private reachedEof => false
}
protected uri => object(Cake\Http\Uri) id:4 {
private base => ''
private webroot => '/'
private uri => object(Laminas\Diactoros\Uri) id:5 {
}
}
protected session => object(Cake\Http\Session) id:6 {
protected _engine => null
protected _started => null
protected _lifetime => (int) 1440
protected _isCLI => false
}
protected flash => object(Cake\Http\FlashMessage) id:7 {
protected _defaultConfig => [
'' => [maximum depth reached],
]
protected session => object(Cake\Http\Session) id: 6 {}
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/clients-api.runsmart.co.uk/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\PagesController) id:4 {
}
}
protected container => object(Cake\Core\Container) id: 3 {}
protected _eventManager => object(Cake\Event\EventManager) id:5 {
'_listeners' => [
]
'_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()); |
|
|
If you want to customize this error message, create
templates/Error/error400.php