Commit Graph

462 Commits

Author SHA1 Message Date
Ben Darnell 8b4a66cb53 str.encode('base64') != base64.b64encode()
Add check for newlines in request headers.

Closes #246
2011-04-16 13:41:40 -07:00
Ben Darnell 8eef796afd Convert WSGI content-length variable to an int at the right place
Closes #245
2011-04-16 13:26:03 -07:00
Ben Darnell 3ae67873bc Make template constructor accept unicode strings
Closes #244
2011-04-16 13:23:55 -07:00
Ben Darnell 2afc7babc1 Move another curl hack (disabling Pragma: no-cache) to curl_httpclient.py 2011-03-30 21:08:12 -07:00
Ben Darnell ef895e29b6 Add appengine config for /favicon.ico 2011-03-30 21:04:42 -07:00
Peter Bengtsson 2ac99d86de adding favicon.ico for website 2011-03-30 18:36:57 +01:00
Neil Rahilly c5b9847788 Disable Expect header in curl_httpclient.py without clearing all headers.
Fixes previous fix (18f942b).
2011-03-28 17:13:06 -04:00
Neil Rahilly 18f942b26c Fix Expect header bug in curl_httpclient.py.
setopt, when used with HTTPHEADER, takes a list, not a string.
2011-03-28 11:21:50 -04:00
Ben Darnell 8eb6dd249e Add support for username/password in url for simple_httpclient.
I considered making this functionality opt-in, but decided to allow it
for consistency with curl.

Closes #230.
2011-03-27 20:30:42 -07:00
Ben Darnell 5970af4e7d Document the fact that CSV files should not have spaces after commas 2011-03-24 19:21:37 -07:00
Ben Darnell 425f069e9d Move curl Expect: header hack from httpclient.py to curl_httpclient.py.
Fixes: #233.
2011-03-14 23:06:05 -07:00
Brian Beach 6f0a8a752d Make AsyncTestCase call tearDown in super class.
The setUp method was calling super, but tearDown wasn't.  Now they
both are.

This change includes a new unit test case to verify the fix.
2011-03-14 11:34:19 -04:00
Ben Darnell 6923539ba6 Update docstrings for get_user_locale and get_error_html. 2011-03-06 18:31:51 -08:00
Ben Darnell f43dd1414a Update facebook demo to use the graph api instead of the older api. 2011-03-03 13:45:58 -08:00
Ben Darnell e3397c4698 Merge commit 'v1.2.1' 2011-03-03 12:49:58 -08:00
Ben Darnell f36fb66f02 Set version number to 1.2.1 2011-03-03 12:41:26 -08:00
Ben Darnell 7d304034a8 In FacebookGraphMixin, explicitly request required user fields.
This is necessary due to a recent change in the facebook API.

Closes #227.
2011-03-03 12:38:31 -08:00
Ben Darnell 6d0f40418e Ignore auto2to3 cache files 2011-02-23 22:53:59 -08:00
Ben Darnell 8792d74f97 Test improvement: order-independent comparison, better cleanup.
For some reason the results are coming back out of order in python2.5
(select vs kqueue, maybe?)
2011-02-23 21:00:57 -08:00
Ben Darnell 130040a889 Python3 fixes in IOLoop
* __lt__ instead of __cmp__
* Write bytes instead of str to waker pipe
* Reading from the waker pipe returns '' at EOF instead of raising error
2011-02-23 17:23:36 -08:00
Ben Darnell 6822bb742e Fix references to str() type for python3 2011-02-23 16:59:49 -08:00
Ben Darnell a72cc17f72 Fix encoding issues in options.py for python3. 2011-02-23 16:53:32 -08:00
Ben Darnell e42c99ffca Make SimpleAsyncHTTPClient the default.
Get rid of the environment variable hack for selecting client
implementations.
2011-02-23 14:51:35 -08:00
Ben Darnell 9fc882a4ac Add a new method to configure AsyncHTTPClient.
Deprecate most keyword arguments to AsyncHTTPClient in favor of the new
configure method.
2011-02-23 14:50:43 -08:00
Ben Darnell a785a128d5 Add a utility function to import an object by name. 2011-02-23 14:22:23 -08:00
Ben Darnell bfb171fb90 Move AsyncHTTPClient creation logic to httpclient.py. 2011-02-23 14:05:57 -08:00
Ben Darnell e7ae6c91c9 OPTIONS should not require an XSRF token.
Closes #225.
2011-02-23 10:08:00 -08:00
Ben Darnell fb8736cdf1 Check for EOF in the kqueue-based IOLoop to avoid incorrectly calling
the connect callback when the connection was refused.

Closes #223.
2011-02-22 13:35:41 -08:00
Ben Darnell 2f4835a34b Read a fixed number of bytes for wsgi input, since some wsgi containers
do not signal EOF.
2011-02-22 13:01:05 -08:00
Ben Darnell 83d4e933f6 Move USE_SIMPLE_HTTPCLIENT environment check out of curl_httpclient 2011-02-22 12:14:32 -08:00
Ben Darnell b9ba025858 Implement synchronous HTTPClient in terms of AsyncHTTPClient.
Move curl_httpclient.main to httpclient.py
2011-02-22 11:45:48 -08:00
Ben Darnell cf915bff62 Fix imports 2011-02-22 11:32:01 -08:00
Ben Darnell 60c7e91182 Move request and response classes to httpclient.py 2011-02-22 11:23:32 -08:00
Ben Darnell c62fd2671e Make tornado.escape.utf8 None-safe and use it in curl_httpclient. 2011-02-22 11:21:54 -08:00
Ben Darnell 3facb21406 Rename httpclient to curl_httpclient 2011-02-22 11:18:25 -08:00
Ben Darnell cc2363a147 Revert "Declare dependencies in setup.py for automatic installation."
This reverts commit 19f850e19b.

This turned out to be more trouble than it's worth, since it doesn't
interact well with external installations of pycurl (e.g. from a .deb).
These dependencies are going away soon anyway.
2011-02-22 11:00:02 -08:00
Ben Darnell f5436204e6 Update version number to 1.2 2011-02-20 12:56:36 -08:00
Ben Darnell 210c5c827b Document the fact that tornado can be installed with pip/etc. 2011-02-20 12:49:53 -08:00
Ben Darnell d8b6d985f1 Check that the default certificates file exists in a unit test. 2011-02-20 12:33:00 -08:00
Ben Darnell 19f850e19b Declare dependencies in setup.py for automatic installation. 2011-02-20 12:16:43 -08:00
Ben Darnell c7b118fc79 Add ca-certificates.crt as a data file in setup.py 2011-02-19 15:57:12 -08:00
Ben Darnell d470b35985 Track SSL handshake state separately from calling _add_io_state directly.
Calling _add_io_state would set a flag that immediately gets overwritten
in _handle_events when it sees that the application-level read/write
operations are idle.  This happens to work with kqueue but not with epoll.
2011-02-19 15:39:27 -08:00
Ben Darnell 5b8b935ed9 Clear the Host header when following redirects 2011-02-19 15:35:37 -08:00
Ben Darnell 907a9b461d Add more debugging options to command-line mode of simple_httpclient 2011-02-19 15:31:11 -08:00
Ben Darnell 5f73de9f14 Call listen() on low-level socket test.
This is apparently required on linux but not on mac.
2011-02-19 14:59:39 -08:00
Ben Darnell dc10fceaab Set both VERIFYPEER and VERIFYHOST according to the validate_cert setting. 2011-02-19 14:29:35 -08:00
Ben Darnell 6fa950ceba Fix a case where callbacks could be called more than once in error conditions. 2011-02-19 13:58:56 -08:00
Ben Darnell 3951d5997a Don't call curl.unsetopt(pycurl.CAINFO) to reset CA certificates to default.
This doesn't work because it clobbers the default CA certs, causing all
certificates to be rejected.  There doesn't seem to be any way to restore
the defaults, so just leave it untouched in the default case and document
the requirement that all requests use ca_certs if any do.
2011-02-19 13:43:33 -08:00
Ben Darnell e7ee4e1f73 Add logout link to authdemo for testing purposes. 2011-02-19 13:33:21 -08:00
Ben Darnell 2ab946518a Document new behavior of XSRF tokens. 2011-02-16 13:36:50 -08:00