configurable decoding of query/body params in Web::Dispatch
[catagits/Web-Simple.git] / lib / Web / Simple / Application.pm
index 1ec59aa..cbbd825 100644 (file)
@@ -20,6 +20,10 @@ has 'config' => (
 
 sub default_config { () }
 
+has param_encoding => (is => "lazy");
+
+sub _build_param_encoding { "UTF-8" }
+
 has '_dispatcher' => (is => 'lazy');
 
 sub _build__dispatcher {
@@ -40,7 +44,10 @@ sub _build__dispatcher {
   my $node_args = { app_object => $self };
   weaken($node_args->{app_object});
   Web::Dispatch->new(
-    app => sub { $self->dispatch_request(@_), $final },
+    app => sub {
+      { "Web::Dispatch::ParamParser.param_encoding" => $self->param_encoding },
+      $self->dispatch_request(@_), $final;
+    },
     node_class => 'Web::Simple::DispatchNode',
     node_args => $node_args
   );