|
|
@ -37,13 +37,13 @@ class HTTPBasicsTest (BitcoinTestFramework): |
|
|
|
conn.connect() |
|
|
|
conn.connect() |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) |
|
|
|
assert(b'"error":null' in out1) |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
|
|
|
|
|
|
|
|
#send 2nd request without closing connection |
|
|
|
#send 2nd request without closing connection |
|
|
|
conn.request('POST', '/', '{"method": "getchaintips"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getchaintips"}', headers) |
|
|
|
out2 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) #must also response with a correct json-rpc message |
|
|
|
assert(b'"error":null' in out1) #must also response with a correct json-rpc message |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
conn.close() |
|
|
|
conn.close() |
|
|
|
|
|
|
|
|
|
|
@ -54,13 +54,13 @@ class HTTPBasicsTest (BitcoinTestFramework): |
|
|
|
conn.connect() |
|
|
|
conn.connect() |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) |
|
|
|
assert(b'"error":null' in out1) |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
|
|
|
|
|
|
|
|
#send 2nd request without closing connection |
|
|
|
#send 2nd request without closing connection |
|
|
|
conn.request('POST', '/', '{"method": "getchaintips"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getchaintips"}', headers) |
|
|
|
out2 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) #must also response with a correct json-rpc message |
|
|
|
assert(b'"error":null' in out1) #must also response with a correct json-rpc message |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
assert(conn.sock!=None) #according to http/1.1 connection must still be open! |
|
|
|
conn.close() |
|
|
|
conn.close() |
|
|
|
|
|
|
|
|
|
|
@ -71,7 +71,7 @@ class HTTPBasicsTest (BitcoinTestFramework): |
|
|
|
conn.connect() |
|
|
|
conn.connect() |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) |
|
|
|
assert(b'"error":null' in out1) |
|
|
|
assert(conn.sock==None) #now the connection must be closed after the response |
|
|
|
assert(conn.sock==None) #now the connection must be closed after the response |
|
|
|
|
|
|
|
|
|
|
|
#node1 (2nd node) is running with disabled keep-alive option |
|
|
|
#node1 (2nd node) is running with disabled keep-alive option |
|
|
@ -83,7 +83,7 @@ class HTTPBasicsTest (BitcoinTestFramework): |
|
|
|
conn.connect() |
|
|
|
conn.connect() |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) |
|
|
|
assert(b'"error":null' in out1) |
|
|
|
|
|
|
|
|
|
|
|
#node2 (third node) is running with standard keep-alive parameters which means keep-alive is on |
|
|
|
#node2 (third node) is running with standard keep-alive parameters which means keep-alive is on |
|
|
|
urlNode2 = urlparse.urlparse(self.nodes[2].url) |
|
|
|
urlNode2 = urlparse.urlparse(self.nodes[2].url) |
|
|
@ -94,7 +94,7 @@ class HTTPBasicsTest (BitcoinTestFramework): |
|
|
|
conn.connect() |
|
|
|
conn.connect() |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
conn.request('POST', '/', '{"method": "getbestblockhash"}', headers) |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
out1 = conn.getresponse().read() |
|
|
|
assert('"error":null' in out1) |
|
|
|
assert(b'"error":null' in out1) |
|
|
|
assert(conn.sock!=None) #connection must be closed because bitcoind should use keep-alive by default |
|
|
|
assert(conn.sock!=None) #connection must be closed because bitcoind should use keep-alive by default |
|
|
|
|
|
|
|
|
|
|
|
# Check excessive request size |
|
|
|
# Check excessive request size |
|
|
|