WebService::ImKayac
AnyEvent::IMAPListenを作って、実際に複数アカウントを監視しようとしたとき、im.kayac.comにPOSTする処理をいくつも書く必要がでてきた。
関数化して置けば済む話ではあるのだけど、POSTのパラメータ生成方法とかは本質とは無関係だから隠蔽するべきだ(キリッ とかいうノリで、
モジュール化してみたらかなり見通しがよくなった。
http://github.com/taiyoh/WebService-ImKayac
実際の処理は、im.kayac.comのサンプルにあったirssiでの通知スクリプトほぼそのままです。というか、jQueryの$.postみたいなのって、Perlになかったっけ…。というかそもそも、im.kayac.comへの通知モジュールとか、普通にありそうなんだけど…><。
use WebService::ImKayac; my $im = WebService::ImKayac->new( type => 'password', user => '...', password => '...' ); $im->send('Hello! test send!!');
typeには「none」「password」「secret」の3種類があって、それぞれim.kayac.comの認証方式に対応してます。
認証方式似合ったパラメータがないと怒ってdieするので、まあ、そこはひとつ、宜しくお願いします。