(Translated by https://www.hiragana.jp/)
Amon2::Plugin::Web::Woothee 書いたよ
2014/01/05

Amon2::Plugin::Web::Woothee いたよ

去年きょねんの11月に開催かいさいされた Shibuya Plack/PSGI Conference #1ときにネタさがしててつけた Plack::Middleware::Woothee というモジュールがありまして、これは Plack のミドルウェアそうで User Agent を Woothee でホゲホゲしておくモジュールなわけですが、PSGI の env に psgix.woothee っていうキーでむのどうなのかねーというはなしを Author の @songmu さんがってたりしてた。

そんなわけで、自分じぶんもちょっとそのあたりひっかかったりしてたのと、そもそもアプリそうでやったほうさそうじゃないかね、とおもいはじめたので、Amon2 のプラグインとして実装じっそうしてみた。

Amon2::Plugin::Web::Woothee

package MyApp::Web;
use Amon2::Web;

__PACKAGE__->load_plugin('Web::Woothee');

コンテクストから以下いかのメソッドがべるようになる。

  • ua_is_pc
  • ua_is_crawler
  • ua_is_smartphone
  • ua_is_mobilephone
  • ua_is_misc

おもWoothee の category をるやつですね。

単純たんじゅんにパースして結果けっかれるようになるだけでなく、1リクエストちゅうで parse が必要ひつようになったときだけ、いちかいかぎばれるようになっているのでエコ。

Woothee の parse 結果けっかのパラメータをりたい場合ばあいは、woothee メソッド経由けいゆ取得しゅとくできる。

$c->woothee->name;

いそぎ、ミドルウェア + WAF になるより、WAF のプラグイン単独たんどく完結かんけつしたほうたのしそうなかんじではあった。

サイトない検索けんさく