diff options
Diffstat (limited to 'tests/http2-server.pl')
-rwxr-xr-x | tests/http2-server.pl | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/http2-server.pl b/tests/http2-server.pl new file mode 100755 index 000000000..56b7ccec8 --- /dev/null +++ b/tests/http2-server.pl @@ -0,0 +1,75 @@ +#!/usr/bin/env perl +#*************************************************************************** +# _ _ ____ _ +# Project ___| | | | _ \| | +# / __| | | | |_) | | +# | (__| |_| | _ <| |___ +# \___|\___/|_| \_\_____| +# +# Copyright (C) 2016, Daniel Stenberg, <daniel@haxx.se>, et al. +# +# This software is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at https://curl.haxx.se/docs/copyright.html. +# +# You may opt to use, copy, modify, merge, publish, distribute and/or sell +# copies of the Software, and permit persons to whom the Software is +# furnished to do so, under the terms of the COPYING file. +# +# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# KIND, either express or implied. +# +#*************************************************************************** + +# This script invokes nghttpx properly to have it serve HTTP/2 for us. +# nghttpx runs as a proxy in front of our "actual" HTTP/1 server. + +my $pidfile = "log/nghttpx.pid"; +my $logfile = "log/http2.log"; +my $nghttpx = "nghttpx"; +my $listenport = 9015; + +#*************************************************************************** +# Process command line options +# +while(@ARGV) { + if($ARGV[0] eq '--verbose') { + $verbose = 1; + } + elsif($ARGV[0] eq '--pidfile') { + if($ARGV[1]) { + $pidfile = $ARGV[1]; + shift @ARGV; + } + } + elsif($ARGV[0] eq '--nghttpx') { + if($ARGV[1]) { + $nghttpx = $ARGV[1]; + shift @ARGV; + } + } + elsif($ARGV[0] eq '--port') { + if($ARGV[1]) { + $listenport = $ARGV[1]; + shift @ARGV; + } + } + elsif($ARGV[0] eq '--logfile') { + if($ARGV[1]) { + $logfile = $ARGV[1]; + shift @ARGV; + } + } + else { + print STDERR "\nWarning: http2-server.pl unknown parameter: $ARGV[0]\n"; + } + shift @ARGV; +} + +my $cmdline="$nghttpx --backend=127.0.0.1,8990 ". + "--frontend=\"*,$listenport;no-tls\" ". + "--log-level=INFO ". + "--pid-file=$pidfile ". + "--errorlog-file=$logfile"; +print "RUN: $cmdline\n" if($verbose); +system("$cmdline"); |