This branch contains a special patch that allows the IOStream to be configurable. That allows us to use M2Crypto as the SSL layer instead of pySSL. The pull request was rejected upstream, although deemed as correct. The reason for it is that it may prove incompatible with future developments they already had in mind. For the records, link to the PR
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Here is a simple "Hello, world" example web app for Tornado:
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()
This example does not use any of Tornado's asynchronous features; for that see this simple chat room.
Documentation and links to additional resources are available at http://www.tornadoweb.org