X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FWWW.pm;h=f3c702e9895f9eb64a745e9116ee14a419073985;hb=09f1e000734bc431ec7b63e18959bf6f34f9c179;hp=11fc92e93366fcb4fcc840672f5813b69060711f;hpb=172416d1cd465da4242cc744a3f309d307f1311d;p=public-inbox.git diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 11fc92e9..f3c702e9 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -42,11 +42,12 @@ sub call { # we don't care about multi-value my %qp = map { + utf8::decode($_); my ($k, $v) = split('=', uri_unescape($_), 2); $v = '' unless defined $v; $v =~ tr/+/ /; ($k, $v) - } split(/[&;]/, $env->{QUERY_STRING}); + } split(/[&;]+/, $env->{QUERY_STRING}); $ctx->{qp} = \%qp; my $path_info = $env->{PATH_INFO}; @@ -113,7 +114,7 @@ sub preload { require PublicInbox::Feed; require PublicInbox::View; require PublicInbox::SearchThread; - require Email::MIME; + require PublicInbox::MIME; require Digest::SHA; require POSIX; @@ -165,7 +166,7 @@ sub invalid_inbox_mid { my $ret = invalid_inbox($ctx, $inbox); return $ret if $ret; - $ctx->{mid} = $mid = uri_unescape($mid); + $ctx->{mid} = $mid; if ($mid =~ /\A[a-f0-9]{40}\z/) { # this is horiffically wasteful for legacy URLs: if ($mid = mid2blob($ctx)) { @@ -225,8 +226,8 @@ sub get_mid_html { my $x = mid2blob($ctx) or return r404($ctx); require PublicInbox::View; - require Email::MIME; - my $mime = Email::MIME->new($x); + require PublicInbox::MIME; + my $mime = PublicInbox::MIME->new($x); searcher($ctx); PublicInbox::View::msg_html($ctx, $mime); }