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>