From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, RP_MATCHES_RCVD shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id B5849633805 for ; Sat, 12 Mar 2016 03:59:08 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] http: use Plack::HTTPParser for HTTP parsing Date: Sat, 12 Mar 2016 03:59:08 +0000 Message-Id: <20160312035908.30538-1-e@80x24.org> List-Id: This allows us to reduce installation dependencies while retaining performance as it favors HTTP::Parser::XS when it is installed and available. PLACK_HTTP_PARSER_PP may be set to 1 to force a pure Perl parser for testing. --- lib/PublicInbox/HTTP.pm | 2 +- t/httpd-corner.t | 2 +- t/httpd-unix.t | 2 +- t/httpd.t | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/HTTP.pm b/lib/PublicInbox/HTTP.pm index 2888311..a5c56e2 100644 --- a/lib/PublicInbox/HTTP.pm +++ b/lib/PublicInbox/HTTP.pm @@ -13,7 +13,7 @@ use warnings; use base qw(Danga::Socket); use fields qw(httpd env rbuf input_left remote_addr remote_port); use Fcntl qw(:seek); -use HTTP::Parser::XS qw(parse_http_request); # supports pure Perl fallback +use Plack::HTTPParser qw(parse_http_request); # XS or pure Perl use HTTP::Status qw(status_message); use HTTP::Date qw(time2str); use IO::File; diff --git a/t/httpd-corner.t b/t/httpd-corner.t index 59f37aa..b64f334 100644 --- a/t/httpd-corner.t +++ b/t/httpd-corner.t @@ -7,7 +7,7 @@ use warnings; use Test::More; foreach my $mod (qw(Plack::Util Plack::Request Plack::Builder Danga::Socket - HTTP::Parser::XS HTTP::Date HTTP::Status)) { + HTTP::Date HTTP::Status)) { eval "require $mod"; plan skip_all => "$mod missing for httpd-corner.t" if $@; } diff --git a/t/httpd-unix.t b/t/httpd-unix.t index 13df676..00adf13 100644 --- a/t/httpd-unix.t +++ b/t/httpd-unix.t @@ -6,7 +6,7 @@ use warnings; use Test::More; foreach my $mod (qw(Plack::Util Plack::Request Plack::Builder Danga::Socket - HTTP::Parser::XS HTTP::Date HTTP::Status)) { + HTTP::Date HTTP::Status)) { eval "require $mod"; plan skip_all => "$mod missing for httpd-unix.t" if $@; } diff --git a/t/httpd.t b/t/httpd.t index 25b4f41..28f507d 100644 --- a/t/httpd.t +++ b/t/httpd.t @@ -5,7 +5,7 @@ use warnings; use Test::More; foreach my $mod (qw(Plack::Util Plack::Request Plack::Builder Danga::Socket - HTTP::Parser::XS HTTP::Date HTTP::Status)) { + HTTP::Date HTTP::Status)) { eval "require $mod"; plan skip_all => "$mod missing for httpd.t" if $@; } -- EW