Annotation of embedaddon/curl/tests/http2-server.pl, revision 1.1

1.1     ! misho       1: #!/usr/bin/env perl
        !             2: #***************************************************************************
        !             3: #                                  _   _ ____  _
        !             4: #  Project                     ___| | | |  _ \| |
        !             5: #                             / __| | | | |_) | |
        !             6: #                            | (__| |_| |  _ <| |___
        !             7: #                             \___|\___/|_| \_\_____|
        !             8: #
        !             9: # Copyright (C) 2016 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
        !            10: #
        !            11: # This software is licensed as described in the file COPYING, which
        !            12: # you should have received as part of this distribution. The terms
        !            13: # are also available at https://curl.haxx.se/docs/copyright.html.
        !            14: #
        !            15: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
        !            16: # copies of the Software, and permit persons to whom the Software is
        !            17: # furnished to do so, under the terms of the COPYING file.
        !            18: #
        !            19: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
        !            20: # KIND, either express or implied.
        !            21: #
        !            22: #***************************************************************************
        !            23: 
        !            24: # This script invokes nghttpx properly to have it serve HTTP/2 for us.
        !            25: # nghttpx runs as a proxy in front of our "actual" HTTP/1 server.
        !            26: 
        !            27: my $pidfile = "log/nghttpx.pid";
        !            28: my $logfile = "log/http2.log";
        !            29: my $nghttpx = "nghttpx";
        !            30: my $listenport = 9015;
        !            31: my $connect = "127.0.0.1,8990";
        !            32: 
        !            33: #***************************************************************************
        !            34: # Process command line options
        !            35: #
        !            36: while(@ARGV) {
        !            37:     if($ARGV[0] eq '--verbose') {
        !            38:         $verbose = 1;
        !            39:     }
        !            40:     elsif($ARGV[0] eq '--pidfile') {
        !            41:         if($ARGV[1]) {
        !            42:             $pidfile = $ARGV[1];
        !            43:             shift @ARGV;
        !            44:         }
        !            45:     }
        !            46:     elsif($ARGV[0] eq '--nghttpx') {
        !            47:         if($ARGV[1]) {
        !            48:             $nghttpx = $ARGV[1];
        !            49:             shift @ARGV;
        !            50:         }
        !            51:     }
        !            52:     elsif($ARGV[0] eq '--port') {
        !            53:         if($ARGV[1]) {
        !            54:             $listenport = $ARGV[1];
        !            55:             shift @ARGV;
        !            56:         }
        !            57:     }
        !            58:     elsif($ARGV[0] eq '--connect') {
        !            59:         if($ARGV[1]) {
        !            60:             $connect = $ARGV[1];
        !            61:             $connect =~ s/:/,/;
        !            62:             shift @ARGV;
        !            63:         }
        !            64:     }
        !            65:     elsif($ARGV[0] eq '--logfile') {
        !            66:         if($ARGV[1]) {
        !            67:             $logfile = $ARGV[1];
        !            68:             shift @ARGV;
        !            69:         }
        !            70:     }
        !            71:     else {
        !            72:         print STDERR "\nWarning: http2-server.pl unknown parameter: $ARGV[0]\n";
        !            73:     }
        !            74:     shift @ARGV;
        !            75: }
        !            76: 
        !            77: my $cmdline="$nghttpx --backend=$connect ".
        !            78:     "--frontend=\"*,$listenport;no-tls\" ".
        !            79:     "--log-level=INFO ".
        !            80:     "--pid-file=$pidfile ".
        !            81:     "--errorlog-file=$logfile";
        !            82: print "RUN: $cmdline\n" if($verbose);
        !            83: system("$cmdline 2>/dev/null");

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>