Pushover handler (maybe a generic Webservice Handler) #111

Sgoettschkes opened this Issue Sep 7, 2012 · 3 comments


None yet

2 participants


I was thinking about implementing a Pushover handler to announce critical errors through their api (which is a very simple http api). This would be cheaper than SMS, had the same effect (instant notice on the phone) and could be configured a bit more (Pushover has quiet hours if that's needed, for example).

I am not sure if it's better to implement a specific Pushover handler or a more generic WebService handler, which can be configured as needed. Such a generic handler could be used to send emails (e.g. postmark), sms (twilio) or to connect monolog with own solutions.

If you think this is a good idea (one of both or even both) and I would start to implement it, how should the http request be done? Is it ok to require something as curl or should it be done using low level php stuff like file_get_contents to ensure it's working without special requirements?


I honestly don't know how feasible it is to have a generic handler, many logging backends have custom requirements. That said, feel free to send a PushoverHandler PR. Ideally it would work with both file_get_contents & curl, because both are commonly disabled by various hosts. Depending on the amount of traffic required for the API, just using fsockopen() and writing the HTTP request in raw form might just be the easiest, I think that just works everywhere.


I made a quick test with fsockopen, it works flawlessly. Of course it's not as easy as curl, but that shouldn't be an issue.

I saw there is a SocketHandler right now, which is actually what I meant by "generic WebService handler". Something one can use to push messages to various web services.

I'll see if I can find some time tomorrow or Sunday to implement a rough first version to discuss.


Alright thanks, obviously there could be a base class handling the basic socket stuff, but we'll still need a custom handler for every service.

@Seldaek Seldaek closed this Jan 7, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment