The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WebService::Prowl::AnyEventHTTP - a sub class of WebService::Prowl sending http requests by using AnyEvent::HTTP

SYNOPSIS =for test_synopsis my($ws,$apikey);

  use WebService::Prowl::AnyEventHTTP;
  my $ws = WebService::Prowl::AnyEventHTTP->new(apikey => $apikey, on_error => sub {warn $_[0]})

  $ws->add('event' => $event, application => $application, description => $description);

DESCRIPTION

WebService::Prowl::AnyEvent is a sub class of WebService::Prowl to use AnyEvent::HTTP non-blocking http client

SYNOPSIS =for test_synopsis my($ws,$apikey);

This module aims to be a implementation of a interface to the Prowl Public API by using AnyEvent::HTTP non-blocking http client library

    my $ws = WebService::Prowl::AnyEventHTTP->new(apikey => $apikey, on_error => sub {warn $_[0]});
    
    AnyEvent::Twitter::Stream->new(
        username => $username,
        passwordn => $password,
        method => 'track',
        keyword => '@' . $username,
        on_tweet => sub {
            my $tweet = shift;
            my $screen_name = Encode::decode_utf8($tweet->{user}{screen_name});
            my $text        = Encode::decode_utf8($tweet->{text});
            my $description = "$screen_name: $text";
            $ws->add('event' => $event, application => $application, description => $description);
        }
    )
    AnyEvent->condvar->recv;

METHODS

new(apikey => 40byteshexadecimalstring, providerkey => yetanother40byteshex, on_error => sub { warn $_0]})

Call new() to create a Prowl Public API client object. You must pass the apikey, which you can generate on "settings" page https://prowl.weks.net/settings.php

  my $apikey = 'cf09b20df08453f3d5ec113be3b4999820341dd2';
  my $ws = WebService::Prowl->new(apikey => $apikey, on_error => sub { warn $_[0] });

and you can specify a callback on_error which is called when it gets error from Prowl API server.

If you have been whitelisted, you may want to use 'providerkey' like this:

  my $apikey      = 'cf09b20df08453f3d5ec113be3b4999820341dd2';
  my $providerkey = '68b329da9893e34099c7d8ad5cb9c94010200121';

  my $ws = WebService::Prowl->new(apikey => $apikey, providerkey => $providerkey, on_error => sub {warn $_[0]});
on_error => $callback->( $error_msg, $url, $data, $headers )

When specified, this callback will be called with the error message from API server, the url, http response body data and headers

verify()

Sends a verify request to check if apikey is valid or not. return 1 for success.

  $ws->verify();
add(application => $app, event => $event, description => $desc, priority => $pri)

Sends a app request to api and return 1 for success.

  application: [256] (required)
      The name of your application

  event: [1024] (required)
      The name of the event

  description: [10000] (required)
      A description for the event

  priority: An integer value ranging [-2, 2]
      a priority of the notification: Very Low, Moderate, Normal, High, Emergency
      default is 0 (Normal)

  $ws->add(application => "Favotter App",
           event       => "new fav",
           description => "your tweet saved as sekimura's favorite");

AUTHOR

Masayoshi Sekimura <sekimura@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

AnyEvent::HTTP, https://prowl.weks.net/, http://forums.cocoaforge.com/viewtopic.php?f=45&t=20339