Amon2

Amon2(Plack)で複数の画像を同時に受け取る Amon2

Amon2(Plack)で複数の画像を同時に受け取る

html5で複数ファイルを選択(input type=”file”で複数ファイル選択と形式を指定(html5))して、サーバーに送信されたファイルをサーバー側で受け取ってみます。 サーバーサイドはPerl(Amon2+Plack)です。 Plack::Request::Upload 普通にファイルを…
plackアプリをsupervisorで永続化 Amon2

plackアプリをsupervisorで永続化

supervisorのインストールやら設定等々は、前回のエントリー(supervisorをCentOS6.5にインストールしたメモ)に書いたとおりです。 今回は、アプリ毎の設定を。 directory=/home/web/MyApp command=bash -lc 'carton exec -- …
Xslateでtemplateファイルにアクセスする。 Amon2

Xslateでtemplateファイルにアクセスする。

XslateのCookbookに書いてあったんですけど、slurp_templateをoverrideすると元のtemplateにアクセスできるようです。 Amon2でやるならこんな感じ。 とりあえずMyApp以下にXslate.pm(名前はなんでもいいけど)ってのを作って、Viewからはそいつを呼…
Amon2で404ページを変更する。 Amon2

Amon2で404ページを変更する。

MyApp.pmに書いたものは、$c->で呼べるようになるんで、元々ある$c->res_404を上書きする感じで。 sub res_404 { my $self = shift; my $html = $self->create_view()->render('error.tx'); $…
Amon2で実行時間を測定する。 Amon2

Amon2で実行時間を測定する。

自分の環境だと、$c->stash(Amon2で$c->stashを使う。)が使えるようになってるんで、そこにdispatch前の時間を保存して、dispatch後に差を見れば何秒かかったかわかる。 package MyApp::Web; use parent qw/MyApp Amon2::…
Amon2でMODE共用のconfigファイルを読み込んで使う。 Amon2

Amon2でMODE共用のconfigファイルを読み込んで使う。

Amon2は、configをdevelopmentとproductionの読み替えができるんで、DB接続周りとかの変更が可能なんですが、その他の部分で同じ内容がいくつかあって、いちいちconfigを全部変えるがめんどいので、共通な内容は別のconfigファイル(どのMODEでも読み込まれる共用ファイ…
Amon2の$c->req->paramに値を入れる。 Amon2

Amon2の$c->req->paramに値を入れる。

なんとなく、 $c->req->param('key' => 'value'); こんな感じで入るかと思ったら、できなかったのでメモ。 で、 $c->req->parameters->set('key' => 'value'); これでいける。 parame…
Amon2::Setup::Flavor->write_fileで変数を使う。 Amon2

Amon2::Setup::Flavor->write_fileで変数を使う。

Amon2::Setup::Flavorのソース見た感じ、中身はXslateのようですが、tag_start,tag_endが設定されているようなので、下記のような感じで。 sub run { my $self = shift; $self->write_file('lib/<<P…