Annotation of embedaddon/curl/tests/http2-server.pl, revision 1.1.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>