Subject: CVS commit: pkgsrc/www/py-tornado
From: Thomas Klausner
Date: 2015-02-08 17:31:48
Message id: 20150208163148.B26BE98@cvs.netbsd.org

Log Message:
Update to 4.1:

Highlights

    If a Future contains an exception but that exception is never
    examined or re-raised (e.g. by yielding the Future), a stack
    trace will be logged when the Future is garbage-collected.
    New class tornado.gen.WaitIterator provides a way to iterate
    over Futures in the order they resolve.
    The tornado.websocket module now supports compression via the
    âpermessage-deflateâ extension. Override
    WebSocketHandler.get_compression_options to enable on the server
    side, and use the compression_options keyword argument to
    websocket_connect on the client side.
    When the appropriate packages are installed, it is possible to
    yield asyncio.Future or Twisted Defered objects in Tornado
    coroutines.

Backwards-compatibility notes

    HTTPServer now calls start_request with the correct arguments.
    This change is backwards-incompatible, afffecting any application
    which implemented HTTPServerConnectionDelegate by following
    the example of Application instead of the documented method
    signatures.

tornado.concurrent

    If a Future contains an exception but that exception is never
    examined or re-raised (e.g. by yielding the Future), a stack
    trace will be logged when the Future is garbage-collected.
    Future now catches and logs exceptions in its callbacks.

tornado.curl_httpclient

    tornado.curl_httpclient now supports request bodies for PATCH
    and custom methods.
    tornado.curl_httpclient now supports resubmitting bodies after
    following redirects for methods other than POST.
    curl_httpclient now runs the streaming and header callbacks on
    the IOLoop.
    tornado.curl_httpclient now uses its own logger for debug output
    so it can be filtered more easily.

tornado.gen

    New class tornado.gen.WaitIterator provides a way to iterate
    over Futures in the order they resolve.
    When the singledispatch library is available (standard on Python
    3.4, available via pip install singledispatch on older versions),
    the convert_yielded function can be used to make other kinds
    of objects yieldable in coroutines.
    New function tornado.gen.sleep is a coroutine-friendly analogue
    to time.sleep.
    gen.engine now correctly captures the stack context for its
    callbacks.

tornado.httpclient

    tornado.httpclient.HTTPRequest accepts a new argument
    raise_error=False to suppress the default behavior of raising
    an error for non-200 response codes.

tornado.httpserver

    HTTPServer now calls start_request with the correct arguments.
    This change is backwards-incompatible, afffecting any application
    which implemented HTTPServerConnectionDelegate by following
    the example of Application instead of the documented method
    signatures.
    HTTPServer now tolerates extra newlines which are sometimes
    inserted between requests on keep-alive connections.
    HTTPServer can now use keep-alive connections after a request
    with a chunked body.
    HTTPServer now always reports HTTP/1.1 instead of echoing the
    request version.

tornado.httputil

    New function tornado.httputil.split_host_and_port for parsing
    the netloc portion of URLs.
    The context argument to HTTPServerRequest is now optional, and
    if a context is supplied the remote_ip attribute is also
    optional.
    HTTPServerRequest.body is now always a byte string (previously
    the default empty body would be a unicode string on python 3).
    Header parsing now works correctly when newline-like unicode
    characters are present.
    Header parsing again supports both CRLF and bare LF line
    separators.
    Malformed multipart/form-data bodies will always be logged
    quietly instead of raising an unhandled exception; previously
    the behavior was inconsistent depending on the exact error.

tornado.ioloop

    The kqueue and select IOLoop implementations now report
    writeability correctly, fixing flow control in IOStream.
    When a new IOLoop is created, it automatically becomes âcurrentâ
    for the thread if there is not already a current instance.
    New method PeriodicCallback.is_running can be used to see
    whether the PeriodicCallback has been started.

tornado.iostream

    IOStream.start_tls now uses the server_hostname parameter for
    certificate validation.
    SSLIOStream will no longer consume 100% CPU after certain error
    conditions.
    SSLIOStream no longer logs EBADF errors during the handshake
    as they can result from nmap scans in certain modes.

tornado.options

    parse_config_file now always decodes the config file as utf8
    on Python 3.
    tornado.options.define more accurately finds the module defining
    the option.

tornado.platform.asyncio

    It is now possible to yield asyncio.Future objects in coroutines
    when the singledispatch library is available and
    tornado.platform.asyncio has been imported.
    New methods tornado.platform.asyncio.to_tornado_future and
    to_asyncio_future convert between the two librariesâ Future
    classes.

tornado.platform.twisted

    It is now possible to yield Deferred objects in coroutines when
    the singledispatch library is available and tornado.platform.twisted
    has been imported.

tornado.tcpclient

    TCPClient will no longer raise an exception due to an ill-timed
    timeout.

tornado.tcpserver

    TCPServer no longer ignores its read_chunk_size argument.

tornado.testing

    AsyncTestCase has better support for multiple exceptions.
    Previously it would silently swallow all but the last; now it
    raises the first and logs all the rest.
    AsyncTestCase now cleans up Subprocess state on tearDown when
    necessary.

tornado.web

    The asynchronous decorator now understands concurrent.futures.Future
    in addition to tornado.concurrent.Future.
    StaticFileHandler no longer logs a stack trace if the connection
    is closed while sending the file.
    RequestHandler.send_error now supports a reason keyword argument,
    similar to tornado.web.HTTPError.
    RequestHandler.locale now has a property setter.
    Application.add_handlers hostname matching now works correctly
    with IPv6 literals.
    Redirects for the Application default_host setting now match
    the request protocol instead of redirecting HTTPS to HTTP.
    Malformed _xsrf cookies are now ignored instead of causing
    uncaught exceptions.
    Application.start_request now has the same signature as
    HTTPServerConnectionDelegate.start_request.

tornado.websocket

    The tornado.websocket module now supports compression via the
    âpermessage-deflateâ extension. Override
    WebSocketHandler.get_compression_options to enable on the server
    side, and use the compression_options keyword argument to
    websocket_connect on the client side.
    WebSocketHandler no longer logs stack traces when the connection
    is closed.
    WebSocketHandler.open now accepts *args, **kw for consistency
    with RequestHandler.get and related methods.
    The Sec-WebSocket-Version header now includes all supported
    versions.
    websocket_connect now has a on_message_callback keyword argument
    for callback-style use without read_message().

Files:
RevisionActionfile
1.10modifypkgsrc/www/py-tornado/Makefile
1.5modifypkgsrc/www/py-tornado/PLIST
1.9modifypkgsrc/www/py-tornado/distinfo