Tornado 2.3的新功能¶
2012年5月31日¶
HTTP客户端¶
tornado.httpclient.HTTPClient
现在支持的构造函数关键字参数与AsyncHTTPClient
.这个
max_clients
关键字参数AsyncHTTPClient.configure
现在工作。tornado.simple_httpclient
现在支持OPTIONS
和PATCH
HTTP方法。tornado.simple_httpclient
最好是关闭其套接字,而不是将它们留给垃圾收集。tornado.simple_httpclient
正确验证包含ipv6文本的URL的SSL证书(此错误影响了python 2.5和2.6)。tornado.simple_httpclient
不再在中包含基本身份验证凭据Host
从URL提取这些凭据时的头。tornado.simple_httpclient
不再修改调用者提供的头字典,这会在执行重定向时导致问题。tornado.curl_httpclient
现在支持客户端SSL证书(使用相同的client_cert
和client_key
论证为tornado.simple_httpclient
)
HTTP服务器¶
HTTPServer
now works correctly with paths starting with//
HTTPHeaders.copy
(继承)dict.copy
)现在工作正常。HTTPConnection.address
现在总是套接字地址,即使对于非IP套接字也是如此。HTTPRequest.remote_ip
仍然是一个IP样式的地址(假数据用于非IP套接字)多部分表单主体末尾的额外数据现在被忽略,这修复了与IOS HTTP客户端库的兼容性问题。
IOLoop
and IOStream
¶
IOStream
现在有一个error
可用于确定套接字关闭原因的属性。tornado.iostream.IOStream.read_until
和read_until_regex
输入量大,速度快得多。IOStream.write
当给定非常大的字符串时,性能更好。IOLoop.instance()
现在是线程安全的。
tornado.options
¶
tornado.options
选项与multiple=True
设置了多次,现在覆盖而不是追加。这样就可以覆盖parse_config_file
具有parse_command_line
.tornado.options
--help
现在输出更漂亮了。tornado.options.options
现在支持属性分配。
tornado.template
¶
包含非ascii(utf8)字符的模板文件现在可以在python 3上工作,而不考虑语言环境变量。
模板现在支持
else
clauses intry
/except
/最后是`/
else``块。
tornado.web
¶
tornado.web.RequestHandler
现在支持PATCH
HTTP方法。请注意,这意味着任何现有的名为patch
在里面RequestHandler
需要重命名子类。tornado.web.addslash
和removeslash
装饰师现在发送永久重定向(301)而不是临时重定向(302)。RequestHandler.flush
现在调用它的回调,不管是否有数据要刷新。重复呼叫
RequestHandler.set_cookie
使用相同的名称现在覆盖以前的cookie,而不是生成其他副本。tornado.web.OutputTransform.transform_first_chunk
现在获取并返回一个状态代码以及头和块。这是对接口的向后不兼容更改,该接口在技术上从未是私有的,但没有包含在文档中,并且似乎没有在Tornado本身之外使用。修正了2.6.5之前的python版本的错误
tornado.web.URLSpec
正则表达式由Unicode字符串构造,并提取关键字参数。这个
reverse_url
模板命名空间中的函数现在来自RequestHandler
而不是Application
. (除非被重写,RequestHandler.reverse_url
只是Application
方法)。这个
Etag
现在在对If-None-Match
请求,提高与某些缓存的兼容性。tornado.web
将不再生成状态代码为304且具有实体头的响应,例如Content-Length
.
其他模块¶
tornado.auth.FacebookGraphMixin
不再发送post_args
在URL中冗余。这个
extra_params
参数tornado.escape.linkify
现在可以是可调用的,以允许为每个链接分别选择参数。tornado.gen
不再泄漏StackContexts
当A@gen.engine
重复调用包装函数。tornado.locale.get_supported_locales
不再需要一个无意义的cls
争论。StackContext
实例现在有一个停用回调,可以用来防止进一步传播。tornado.testing.AsyncTestCase.wait
现在在每次调用时重置超时。tornado.wsgi.WSGIApplication
现在在python 3上正确解析参数。python 3上的异常处理已经得到了改进;以前的一些异常如
UnicodeDecodeError
将生成TypeErrors