From 25da38373af6f3b578001ea76c4a2f16451bd6d0 Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Fri, 17 Mar 2017 22:49:31 +0100 Subject: [PATCH] Split off work into a new method to facilitate extension, fixes #945 --- src/Monolog/Handler/SlackHandler.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Monolog/Handler/SlackHandler.php b/src/Monolog/Handler/SlackHandler.php index 9324fc9a..3ac4d836 100644 --- a/src/Monolog/Handler/SlackHandler.php +++ b/src/Monolog/Handler/SlackHandler.php @@ -144,6 +144,17 @@ class SlackHandler extends SocketHandler protected function write(array $record) { parent::write($record); + $this->finalizeWrite(); + } + + /** + * Finalizes the request by reading some bytes and then closing the socket + * + * If we do not read some but close the socket too early, slack sometimes + * drops the request entirely. + */ + protected function finalizeWrite() + { $res = $this->getResource(); if (is_resource($res)) { @fread($res, 2048);