mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-27 07:02:11 +00:00
3e235d38ec
Background: Python 2 is no longer supported since January, 1st 2020 as per https://www.python.org/doc/sunset-python-2/ The purpose of this change is to make the spoa_server contrib library compatible with Python 3 to allow transition to Python 3. Test Settings: ps_python.py: ... spoa.set_var_null("null", spoa.scope_txn) spoa.set_var_boolean("boolean", spoa.scope_txn, True) spoa.set_var_int32("int32", spoa.scope_txn, 1234) spoa.set_var_uint32("uint32", spoa.scope_txn, 1234) spoa.set_var_int64("int64", spoa.scope_txn, 1234) spoa.set_var_uint64("uint64", spoa.scope_txn, 1234) spoa.set_var_ipv4("ipv4", spoa.scope_txn, ipaddress.IPv4Address(u"127.0.0.1")) spoa.set_var_ipv6("ipv6", spoa.scope_txn, ipaddress.IPv6Address(u"1::f")) spoa.set_var_str("str", spoa.scope_txn, "1::f") spoa.set_var_bin("bin", spoa.scope_txn, "1:\x01:\x42f\x63\x63") spoa.set_var_str("python_version", spoa.scope_sess, str(sys.version_info)) ... haproxy.cfg: ... http-request capture var(txn.verb.null),debug len 1 http-request capture var(txn.verb.boolean),debug len 1 http-request capture var(txn.verb.int32),debug len 4 http-request capture var(txn.verb.uint32),debug len 4 http-request capture var(txn.verb.int64),debug len 4 http-request capture var(txn.verb.uint64),debug len 4 http-request capture var(txn.verb.ipv4),debug len 16 http-request capture var(txn.verb.ipv6),debug len 45 http-request capture var(txn.verb.str),debug len 32 http-request capture var(txn.verb.bin),debug len 32 http-request capture var(sess.verb.python_version),debug len 100 ... Test result: Python 3.8: ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- 1/1/0/0/0 0/0 {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=3, minor=8, micro=1, releaselevel='final', serial=0)} "POST / HTTP/1.1" Python 3.7: ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- 1/1/0/0/0 0/0 {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=3, minor=7, micro=6, releaselevel='final', serial=0)} "POST / HTTP/1.1" Python 3.6: ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- 1/1/0/0/0 0/0 {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=3, minor=6, micro=10, releaselevel='final', serial=0)} "POST / HTTP/1.1" Python 2.7: ft_public ft_public/<NOSRV> 0/-1/-1/-1/0 403 212 - - PR-- 1/1/0/0/0 0/0 {|1|1234|1234|1234|1234|127.0.0.1|1::f|1::f|1:#01:Bfcc|sys.version_info(major=2, minor=7, micro=17, releaselevel='final', serial=0)} "POST / HTTP/1.1" Not tested: Python <2.7 |
||
---|---|---|
.. | ||
51d/src | ||
base64 | ||
debug | ||
deviceatlas | ||
halog | ||
hpack | ||
ip6range | ||
iprange | ||
mod_defender | ||
modsecurity | ||
netsnmp-perl | ||
plug_qdisc | ||
prometheus-exporter | ||
selinux | ||
spoa_example | ||
spoa_server | ||
syntax-highlight | ||
systemd | ||
tcploop | ||
trace | ||
wireshark-dissectors/peers | ||
wurfl |