1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-05 12:47:39 +02:00
This commit is contained in:
Jordi Boggiano
2013-01-06 21:43:53 +01:00
parent 176cb2a354
commit 04f41cd661
2 changed files with 12 additions and 14 deletions

View File

@@ -43,11 +43,12 @@ class PushoverHandler extends SocketHandler
protected function generateDataStream($record) protected function generateDataStream($record)
{ {
$content = $this->buildContentString($record); $content = $this->buildContent($record);
return $this->buildHeaderAndAddContent($content);
return $this->buildHeader($content) . $content;
} }
private function buildContentString($record) private function buildContent($record)
{ {
// Pushover has a limit of 512 characters on title and message combined. // Pushover has a limit of 512 characters on title and message combined.
$maxMessageLength = 512 - strlen($this->title); $maxMessageLength = 512 - strlen($this->title);
@@ -65,15 +66,14 @@ class PushoverHandler extends SocketHandler
return http_build_query($dataArray); return http_build_query($dataArray);
} }
private function buildHeaderAndAddContent($content) private function buildHeader($content)
{ {
$header = "POST /1/messages.json HTTP/1.1\r\n"; $header = "POST /1/messages.json HTTP/1.1\r\n";
$header .= "Host: api.pushover.net\r\n"; $header .= "Host: api.pushover.net\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($content) . "\r\n"; $header .= "Content-Length: " . strlen($content) . "\r\n";
$header .= "\r\n"; $header .= "\r\n";
$header .= $content;
return $header; return $header;
} }
} }

View File

@@ -79,15 +79,14 @@ class PushoverHandlerTest extends TestCase
$this->assertRegexp('/message=' . $expectedMessage . '&title/', $content); $this->assertRegexp('/message=' . $expectedMessage . '&title/', $content);
} }
private function createHandler($token = 'myToken', $user = 'myUser', $title = null) private function createHandler($token = 'myToken', $user = 'myUser', $title = 'Monolog')
{ {
$constructArray = array($token, $user); $constructorArgs = array($token, $user, $title);
if($title != null) {
$constructArray[2] = $title;
}
$this->res = fopen('php://memory', 'a'); $this->res = fopen('php://memory', 'a');
$this->handler = $this->getMock( $this->handler = $this->getMock(
'\Monolog\Handler\PushoverHandler', array('fsockopen', 'streamSetTimeout'), $constructArray '\Monolog\Handler\PushoverHandler',
array('fsockopen', 'streamSetTimeout'),
$constructorArgs
); );
$reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString'); $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
@@ -103,5 +102,4 @@ class PushoverHandlerTest extends TestCase
$this->handler->setFormatter($this->getIdentityFormatter()); $this->handler->setFormatter($this->getIdentityFormatter());
} }
}
}