Commit Graph

8763 Commits

Author SHA1 Message Date
Aldo Cortesi
ea457fac2e Perform handshake immediately on SSL conversion.
Otherwise the handshake happens at first write, which can balls up if either
side hangs immediately.
2012-06-25 16:16:01 +12:00
Aldo Cortesi
52d0536d2c Use new TCPClient.convert_to_ssl API. 2012-06-25 15:53:26 +12:00
Aldo Cortesi
353efec7ce Improve TCPClient interface.
- Don't pass SSL parameters on instantiation.
- Add a convert_to_ssl method analogous to that in TCPServer.
2012-06-25 14:42:15 +12:00
Aldo Cortesi
e08f91c237 Port to explicit netlib connection API. 2012-06-25 11:37:12 +12:00
Aldo Cortesi
8352c0278f Handle client close more gracefully. 2012-06-25 11:34:29 +12:00
Aldo Cortesi
47f862ae27 Add a finished flag to BaseHandler, and catch an extra OpenSSL exception. 2012-06-25 11:34:10 +12:00
Aldo Cortesi
f3237503a7 Don't connect during __init__ methods for either client or server.
This means we now need to do these things explicitly at the caller.
2012-06-25 11:23:04 +12:00
Aldo Cortesi
3d8610b6bc Move server to new explicit netlib API. 2012-06-25 11:22:44 +12:00
Aldo Cortesi
8f0754b9c4 SSL tests, plus some self-signed test certificates. 2012-06-25 11:00:39 +12:00
Aldo Cortesi
1662d6d572 Repair test suite. 2012-06-24 23:16:06 +12:00
Aldo Cortesi
7d01d5c797 Don't read all from server by default.
This can cause us to hang waiting for data. More research is needed to
establish the right course of action here.
2012-06-24 23:13:09 +12:00
Aldo Cortesi
15c48cfc5e Simple HTTP connection keep-alive for pathod. 2012-06-24 23:11:25 +12:00
Aldo Cortesi
a747043cc8 Use http.read_response to read server response.
Also add a few different output formats, and a verbosity flag.
2012-06-24 22:59:20 +12:00
Aldo Cortesi
820ac5152e WSGI SERVER_PORT should be a string. 2012-06-24 22:57:09 +12:00
Aldo Cortesi
5988b65419 Add and unit test http.read_response 2012-06-24 22:45:40 +12:00
Aldo Cortesi
eac3b29d5f Factor read_response out into netlib. 2012-06-24 22:01:11 +12:00
Aldo Cortesi
4db2abc01c read_headers now returns an ODictCaseless object. 2012-06-24 21:49:59 +12:00
Aldo Cortesi
ddda57179a read_headers now returns an ODictCaseless object. 2012-06-24 21:49:43 +12:00
Aldo Cortesi
0de765f360 Make read_headers return an ODictCaseless object. 2012-06-24 21:49:23 +12:00
Aldo Cortesi
65487ead6d Logging truss for pathod. 2012-06-24 21:40:31 +12:00
Aldo Cortesi
90c6fb394d Sketch out pathoc commandline interaction. 2012-06-24 21:10:10 +12:00
Aldo Cortesi
8bec99f858 Request service rendering. 2012-06-24 19:12:52 +12:00
Aldo Cortesi
2ac84be7cb Add Path specification to request parser. 2012-06-24 18:38:22 +12:00
Aldo Cortesi
f8622ea914 Simple request spec parsing. 2012-06-24 17:47:55 +12:00
Aldo Cortesi
75f06d56cd Request method parsing. 2012-06-24 17:23:37 +12:00
Aldo Cortesi
d4ad3f0b2c Refactor to extract ready_actions and write_values. 2012-06-24 17:01:04 +12:00
Aldo Cortesi
05f5e772c3 Document our use of the 800 response code. 2012-06-24 16:47:44 +12:00
Aldo Cortesi
4fc64ac04f Enable anchors on command line. 2012-06-24 16:38:32 +12:00
Aldo Cortesi
e6aa9ff675 Re-enable anchors. 2012-06-24 16:20:50 +12:00
Aldo Cortesi
877b5a2d11 Add staticdir to test.Test. 2012-06-24 15:12:31 +12:00
Aldo Cortesi
2e558b7e9d Fix disconnect, improve coverage, enable file value specifier. 2012-06-24 15:07:45 +12:00
Aldo Cortesi
b71e2f6f2b More doc refinement. 2012-06-24 11:14:54 +12:00
Aldo Cortesi
6d0b49dfef Documentation. 2012-06-24 10:54:37 +12:00
Aldo Cortesi
3bc7f4e1cd Documentation skeleton. 2012-06-24 10:18:20 +12:00
Aldo Cortesi
171de05d8e Add http_status.py 2012-06-23 18:34:51 +12:00
Aldo Cortesi
e236d7746a Move http.py to netlib.http_status 2012-06-23 18:34:35 +12:00
Aldo Cortesi
e7c75933e7 read_http_body -> read_http_body_request/response 2012-06-23 15:08:01 +12:00
Aldo Cortesi
1263221ddd 100% testcoverage for netlib.http 2012-06-23 15:07:42 +12:00
Aldo Cortesi
cb2f11a68e Bump version, adapt for API canges in netlib. 2012-06-23 14:06:54 +12:00
Aldo Cortesi
874649f134 Adapt for API changes in netlib. 2012-06-23 14:06:34 +12:00
Aldo Cortesi
5cf6aeb926 protocol.py -> http.py 2012-06-23 13:56:17 +12:00
Aldo Cortesi
227e72abf4 README, setup.py, version 2012-06-23 13:49:57 +12:00
Aldo Cortesi
b335b3a335 Remove last vestige of Tornado pathod. 2012-06-21 17:00:04 +12:00
Aldo Cortesi
cd8fba1d70 Finalize porting built-in web app to Flask. 2012-06-21 16:54:49 +12:00
Aldo Cortesi
f88e899274 Built-in app: Index page. 2012-06-21 16:25:27 +12:00
Aldo Cortesi
f0fd33fb11 Log inspection and manipulation from tests. 2012-06-21 15:39:40 +12:00
Aldo Cortesi
12c140b951 Restore client argument parsing. Add thread-safe logging subsystem. 2012-06-21 14:29:49 +12:00
Aldo Cortesi
1089a52f3d Disconnect, rest refactoring. 2012-06-21 10:56:30 +12:00
Aldo Cortesi
b706200796 Drop default poll interval to 0.1s. 2012-06-20 11:01:40 +12:00
Aldo Cortesi
de00497b40 Re-enable SSL service. 2012-06-20 10:59:38 +12:00