summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTiago Ribeiro <tlr@seegno.com>2012-04-20 16:44:33 +0100
committerTiago Ribeiro <tlr@seegno.com>2012-04-20 16:44:33 +0100
commitc8c231f177e9c3d8fa81967a4c4a73cc8c685e5c (patch)
tree37d417d871cbcb5c815060f12f64f012ceaf7ed9
parentd348b2c2529f8468ba27189b99d4eed247ebac7c (diff)
downloadmonolog-c8c231f177e9c3d8fa81967a4c4a73cc8c685e5c.zip
monolog-c8c231f177e9c3d8fa81967a4c4a73cc8c685e5c.tar.gz
monolog-c8c231f177e9c3d8fa81967a4c4a73cc8c685e5c.tar.bz2
Added referer to extra parameter
-rw-r--r--src/Monolog/Processor/WebProcessor.php5
-rw-r--r--tests/Monolog/Handler/AbstractProcessingHandlerTest.php3
-rw-r--r--tests/Monolog/Processor/WebProcessorTest.php15
3 files changed, 22 insertions, 1 deletions
diff --git a/src/Monolog/Processor/WebProcessor.php b/src/Monolog/Processor/WebProcessor.php
index 035606c..eeea07e 100644
--- a/src/Monolog/Processor/WebProcessor.php
+++ b/src/Monolog/Processor/WebProcessor.php
@@ -46,12 +46,17 @@ class WebProcessor
return $record;
}
+ if (!isset($this->serverData['HTTP_REFERER'])) {
+ $this->serverData['HTTP_REFERER'] = null;
+ }
+
$record['extra'] = array_merge(
$record['extra'],
array(
'url' => $this->serverData['REQUEST_URI'],
'ip' => $this->serverData['REMOTE_ADDR'],
'http_method' => $this->serverData['REQUEST_METHOD'],
+ 'referer' => $this->serverData['HTTP_REFERER'],
)
);
diff --git a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
index b9cd350..ea6591d 100644
--- a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
@@ -64,6 +64,7 @@ class AbstractProcessingHandlerTest extends TestCase
'REQUEST_URI' => '',
'REQUEST_METHOD' => '',
'REMOTE_ADDR' => '',
+ 'REQUEST_URI' => '',
)));
$handledRecord = null;
$handler->expects($this->once())
@@ -73,6 +74,6 @@ class AbstractProcessingHandlerTest extends TestCase
}))
;
$handler->handle($this->getRecord());
- $this->assertEquals(3, count($handledRecord['extra']));
+ $this->assertEquals(4, count($handledRecord['extra']));
}
}
diff --git a/tests/Monolog/Processor/WebProcessorTest.php b/tests/Monolog/Processor/WebProcessorTest.php
index 060cbb3..f055f30 100644
--- a/tests/Monolog/Processor/WebProcessorTest.php
+++ b/tests/Monolog/Processor/WebProcessorTest.php
@@ -21,12 +21,15 @@ class WebProcessorTest extends TestCase
'REQUEST_URI' => 'A',
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
+ 'HTTP_REFERER' => 'D',
);
+
$processor = new WebProcessor($server);
$record = $processor($this->getRecord());
$this->assertEquals($server['REQUEST_URI'], $record['extra']['url']);
$this->assertEquals($server['REMOTE_ADDR'], $record['extra']['ip']);
$this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']);
+ $this->assertEquals($server['HTTP_REFERER'], $record['extra']['referer']);
}
public function testProcessorDoNothingIfNoRequestUri()
@@ -40,6 +43,18 @@ class WebProcessorTest extends TestCase
$this->assertEmpty($record['extra']);
}
+ public function testProcessorReturnNullIfNoHttpReferer()
+ {
+ $server = array(
+ 'REQUEST_URI' => 'A',
+ 'REMOTE_ADDR' => 'B',
+ 'REQUEST_METHOD' => 'C',
+ );
+ $processor = new WebProcessor($server);
+ $record = $processor($this->getRecord());
+ $this->assertNull($record['extra']['referer']);
+ }
+
/**
* @expectedException UnexpectedValueException
*/