HTTP::EngineのHTTP::Engine::RequestがGoogle Chromeだと動かない?? → 解決
表題の通り。
・ROOT/conf/config.yaml
engine: interface: module: ServerSimple args: host: 192.168.11.10 port: 1111
・ROOT/lib/Hoge/Engine.pm
package Hoge::Engine; use HTTP::Engine; sub new { my $class = shift; my %args = @_; $args{req} = {}; $args{c} = YAML::LoadFile('../conf/config.yaml'); return bless \%args, $class; } sub start { my $self = shift; my %args = @_; my $engine_conf = $self->{c}->{engine}; $engine_conf->{interface}->{request_handler} = sub { $self->{req} = shift; die($self->{req}->{hoge}); my $headers = HTTP::Headers->new; $headers->header('content-type' => 'text/html;charset=utf-8'); return HTTP::Engine::Response->new( headers => $headers, status => 200, body => 'Test ok', ); }; HTTP::Engine->new($engine_conf)->run; } 1;
・ROOT/script/server.pl
#!/usr/bin/perl -w use strict; use warnings; use CGI::Carp qw/fatalsToBrowser/; use lib qw(../lib); use Hoge::Engine; Hoge::Engine->new->start; 1;
こんな感じで定義してサーバー起動して
http://192.168.11.10:1111/?hoge=111
にアクセスした場合は有効なんだけど、
hoge=111をPOSTで渡した場合に取得できない。
なーんでだろ。
調べ中。
http://www.itmedia.co.jp/news/articles/0905/26/news041.html
↑ここら辺関係あんのかな。
でも他のWAFだと普通に動くのになー。
原因は不明ですが、何か治りました。
うぅむ。