From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.1 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 692E91F601 for ; Fri, 16 Dec 2022 09:43:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1671183836; bh=RjpQwQMwaJkeEKmI+fFBEuYIWO3JtEoeUQGjIKHIUJk=; h=Date:From:To:Subject:From; b=aux0EcITgR1f+Myv/SO/+9tXjJpV+gj4HUdQH8AqLBDk+hb/rOK2X7qGrEe+0bdST fPvOqusH9dMMWdjaHZfTZlXCU5DnOvniBpPQjj+QY/xHbLjq95AFWsT/OpQesLw22O UfwbXpMW4yrDXAg8+a6qy0Ft1S+3bIOco3OwGIpQ= Date: Fri, 16 Dec 2022 09:44:50 +0000 From: Eric Wong To: mwrap-perl@80x24.org Subject: [PATCH v2] make Plack optional Message-ID: <20221216094450.M522279@dcvr> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline List-Id: Let's not increase requirements for running this project, since some users will be perfectly fine with curl and CSV output. Furthermore, Plack::Middleware::Deflater is not included in the main Plack distribution, so that requirement should be further separated since it's not required. --- v2: combined with making Plack completely optional script/mwrap-rproxy | 7 +++---- t/httpd.t | 4 +++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/script/mwrap-rproxy b/script/mwrap-rproxy index a5572c5..97cca8e 100644 --- a/script/mwrap-rproxy +++ b/script/mwrap-rproxy @@ -3,8 +3,8 @@ # License: GPL-2.0+ # thin wrapper for Devel::Mwrap::Rproxy use v5.12; # strict -use Devel::Mwrap::Rproxy; -use Plack::Runner; +eval { require Plack::Runner } or die "Plack not installed: $@\n"; +require Devel::Mwrap::Rproxy; use Getopt::Long qw(:config no_ignore_case no_auto_abbrev pass_through); my $usage = "$0 --socket-dir=/path/to/socket-dir [PLACKUP_OPTIONS]\n"; my $socket_dir; @@ -28,8 +28,7 @@ Inherited socket (fd=3) is non-blocking, making it blocking. $runner->set_options(listen_sock => $s); } } -if ($gz) { - require Plack::Middleware::Deflater; +if ($gz && eval { require Plack::Middleware::Deflater } and !$@) { $app = Plack::Middleware::Deflater->wrap($app); } $runner->run($app); diff --git a/t/httpd.t b/t/httpd.t index ca90cf0..176c6ed 100644 --- a/t/httpd.t +++ b/t/httpd.t @@ -87,7 +87,9 @@ SKIP: { } SKIP: { - eval { require HTTP::Tiny } or skip 'HTTP::Tiny missing', 1; + for my $m (qw(Plack::Util HTTP::Tiny)) { + eval "require $m" or skip "$m missing", 1; + } my $srv = IO::Socket::INET->new(LocalAddr => '127.0.0.1', ReuseAddr => 1, Proto => 'tcp', Type => SOCK_STREAM,