mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-06 21:26:43 +02:00
Only send FirePHP headers to browser advertising support for it in their user agent
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
* 1.0.2 (2011-10-24)
|
||||
|
||||
Changes:
|
||||
|
||||
* Fixed bug in IE with large response headers and FirePHPHandler
|
||||
|
||||
* 1.0.1 (2011-08-25)
|
||||
|
||||
Changes:
|
||||
|
@@ -52,6 +52,8 @@ class FirePHPHandler extends AbstractProcessingHandler
|
||||
*/
|
||||
protected static $messageIndex = 1;
|
||||
|
||||
protected $sendHeaders = true;
|
||||
|
||||
/**
|
||||
* Base header creation function used by init headers & record headers
|
||||
*
|
||||
@@ -116,7 +118,7 @@ class FirePHPHandler extends AbstractProcessingHandler
|
||||
*/
|
||||
protected function sendHeader($header, $content)
|
||||
{
|
||||
if (!headers_sent()) {
|
||||
if (!headers_sent() && $this->sendHeaders) {
|
||||
header(sprintf('%s: %s', $header, $content));
|
||||
}
|
||||
}
|
||||
@@ -132,6 +134,8 @@ class FirePHPHandler extends AbstractProcessingHandler
|
||||
{
|
||||
// WildFire-specific headers must be sent prior to any messages
|
||||
if (!self::$initialized) {
|
||||
$this->sendHeaders = $this->headersAccepted();
|
||||
|
||||
foreach ($this->getInitHeaders() as $header => $content) {
|
||||
$this->sendHeader($header, $content);
|
||||
}
|
||||
@@ -142,4 +146,14 @@ class FirePHPHandler extends AbstractProcessingHandler
|
||||
$header = $this->createRecordHeader($record);
|
||||
$this->sendHeader(key($header), current($header));
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies if the headers are accepted by the current user agent
|
||||
*
|
||||
* @return Boolean
|
||||
*/
|
||||
protected function headersAccepted()
|
||||
{
|
||||
return !isset($_SERVER['HTTP_USER_AGENT']) || preg_match('{\bFirePHP/\d+\.\d+\b}', $_SERVER['HTTP_USER_AGENT']);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user