示例#1
0
 def test_200_14(self):
     conf = HttpdConf()
     conf.add_line("""
         LimitRequestFields 20
         """)
     conf.add_vhost_cgi()
     conf.install()
     assert TestEnv.apache_restart() == 0
     url = TestEnv.mkurl("https", "cgi", "/")
     opt = []
     for i in range(21):
         opt += ["-H", "x{0}: 1".format(i)]
     r = TestEnv.curl_get(url, options=opt)
     assert 431 == r["response"]["status"]
     conf = HttpdConf()
     conf.add_line("""
         LimitRequestFields 0
         """)
     conf.add_vhost_cgi()
     conf.install()
     assert TestEnv.apache_restart() == 0
     url = TestEnv.mkurl("https", "cgi", "/")
     opt = []
     for i in range(100):
         opt += ["-H", "x{0}: 1".format(i)]
     r = TestEnv.curl_get(url, options=opt)
     assert 200 == r["response"]["status"]
示例#2
0
def setup_module(module):
    print("setup_module: %s" % module.__name__)
    TestEnv.init()
    TestEnv.setup_data_1k_1m()
    conf = HttpdConf().add_line("H2OutputBuffering off")
    conf.add_vhost_cgi(h2proxy_self=True).install()
    assert TestEnv.apache_restart() == 0
示例#3
0
def setup_module(module):
    print("setup_module: %s" % module.__name__)
    TestEnv.init()
    conf = HttpdConf()
    conf.add_vhost_cgi()
    conf.start_vhost( TestEnv.HTTPS_PORT, "pad0", docRoot="htdocs/cgi", withSSL=True)
    conf.add_line("Protocols h2 http/1.1")
    conf.add_line("H2Padding 0")
    conf.add_line("AddHandler cgi-script .py")
    conf.end_vhost()
    conf.start_vhost( TestEnv.HTTPS_PORT, "pad1", docRoot="htdocs/cgi", withSSL=True)
    conf.add_line("Protocols h2 http/1.1")
    conf.add_line("H2Padding 1")
    conf.add_line("AddHandler cgi-script .py")
    conf.end_vhost()
    conf.start_vhost( TestEnv.HTTPS_PORT, "pad2", docRoot="htdocs/cgi", withSSL=True)
    conf.add_line("Protocols h2 http/1.1")
    conf.add_line("H2Padding 2")
    conf.add_line("AddHandler cgi-script .py")
    conf.end_vhost()
    conf.start_vhost( TestEnv.HTTPS_PORT, "pad3", docRoot="htdocs/cgi", withSSL=True)
    conf.add_line("Protocols h2 http/1.1")
    conf.add_line("H2Padding 3")
    conf.add_line("AddHandler cgi-script .py")
    conf.end_vhost()
    conf.start_vhost( TestEnv.HTTPS_PORT, "pad8", docRoot="htdocs/cgi", withSSL=True)
    conf.add_line("Protocols h2 http/1.1")
    conf.add_line("H2Padding 8")
    conf.add_line("AddHandler cgi-script .py")
    conf.end_vhost()

    conf.install()
    assert TestEnv.apache_restart() == 0
示例#4
0
 def test_105_02(self):
     conf = HttpdConf()
     conf.add_line("""
         Timeout 10
         RequestReadTimeout handshake=2 header=5 body=10
         """)
     conf.add_vhost_cgi()
     conf.install()
     assert TestEnv.apache_restart() == 0
     host = 'localhost'
     # read with a longer timeout than the server
     sock = socket.create_connection((host, int(TestEnv.HTTPS_PORT)))
     try:
         sock.settimeout(2.5)
         buff = sock.recv(1024)
         assert buff == b''
     except Exception as ex:
         print(f"server did not close in time: {ex}")
         assert False
     sock.close()
     # read with a shorter timeout than the server
     sock = socket.create_connection((host, int(TestEnv.HTTPS_PORT)))
     try:
         sock.settimeout(0.5)
         buff = sock.recv(1024)
         assert False
     except Exception as ex:
         print(f"as expected: {ex}")
     sock.close()
示例#5
0
 def test_105_03(self):
     conf = HttpdConf()
     conf.add_line("""
         Timeout 10
         RequestReadTimeout handshake=1 header=5 body=10
         """)
     conf.add_vhost_cgi()
     conf.install()
     assert TestEnv.apache_restart() == 0
     url = TestEnv.mkurl("https", "cgi", "/necho.py")
     r = TestEnv.curl_get(url, 5, [
         "-vvv",
         "-F",
         ("count=%d" % (100)),
         "-F",
         ("text=%s" % ("abcdefghijklmnopqrstuvwxyz")),
         "-F",
         ("wait1=%f" % (1.5)),
     ])
     assert 200 == r["response"]["status"]