Skip to content

Commit

Permalink
Add test assertions and refactor shared code.
Browse files Browse the repository at this point in the history
Refs #8439
  • Loading branch information
markstory committed Mar 15, 2016
1 parent 1434029 commit 2e12b89
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 25 deletions.
48 changes: 24 additions & 24 deletions src/Error/BaseErrorHandler.php
Expand Up @@ -270,22 +270,11 @@ protected function _logError($level, $data)
'start' => 1,
'format' => 'log'
]);

$request = Router::getRequest();
if ($request) {
$message .= "\nRequest URL: " . $request->here();

$referer = $request->env('HTTP_REFERER');
if ($referer) {
$message .= "\nReferer URL: " . $referer;
}

$clientIp = $request->clientIp();
if ($clientIp && $clientIp !== '::1') {
$message .= "\nClient IP: " . $clientIp;
}
$message .= $this->_requestContext($request);
}

$message .= "\nTrace:\n" . $trace . "\n";
}
$message .= "\n\n";
Expand Down Expand Up @@ -319,6 +308,27 @@ protected function _logException(Exception $exception)
return Log::error($this->_getMessage($exception));
}

/**
* Get the request context for an error/exception trace.
*
* @param \Cake\Network\Request $request The request to read from.
* @return string
*/
protected function _requestContext($request)
{
$message = "\nRequest URL: " . $request->here();

$referer = $request->env('HTTP_REFERER');
if ($referer) {
$message .= "\nReferer URL: " . $referer;
}
$clientIp = $request->clientIp();
if ($clientIp && $clientIp !== '::1') {
$message .= "\nClient IP: " . $clientIp;
}
return $message;
}

/**
* Generates a formatted error message
*
Expand Down Expand Up @@ -347,17 +357,7 @@ protected function _getMessage(Exception $exception)

$request = Router::getRequest();
if ($request) {
$message .= "\nRequest URL: " . $request->here();

$referer = $request->env('HTTP_REFERER');
if ($referer) {
$message .= "\nReferer URL: " . $referer;
}

$clientIp = $request->clientIp();
if ($clientIp && $clientIp !== '::1') {
$message .= "\nClient IP: " . $clientIp;
}
$message .= $this->_requestContext($request);
}

if (!empty($config['trace'])) {
Expand Down
4 changes: 3 additions & 1 deletion tests/TestCase/Error/ErrorHandlerTest.php
Expand Up @@ -222,7 +222,9 @@ public function testHandleErrorLoggingTrace()
$this->logicalAnd(
$this->stringContains('Notice (8): Undefined variable: out in '),
$this->stringContains('Trace:'),
$this->stringContains(__NAMESPACE__ . '\ErrorHandlerTest::testHandleErrorLoggingTrace()')
$this->stringContains(__NAMESPACE__ . '\ErrorHandlerTest::testHandleErrorLoggingTrace()'),
$this->stringContains('Request URL:'),
$this->stringContains('Referer URL:')
)
);

Expand Down

0 comments on commit 2e12b89

Please sign in to comment.