# HG changeset patch # User Tero Marttila # Date 1410704412 -10800 # Node ID caa2509e6404d0f794c82a2e16c33897447197d3 # Parent e99dd75afa15b1e9d2d562b1a7146619014525c2 drop tornado server diff -r e99dd75afa15 -r caa2509e6404 bin/tornado-server --- a/bin/tornado-server Sun Sep 14 17:19:54 2014 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -#!/usr/bin/python -""" - Script for running the Tornado server + handler -""" - -from pngtile import tornado_handler - -tornado_handler.main() - diff -r e99dd75afa15 -r caa2509e6404 pngtile/tornado_handler.py --- a/pngtile/tornado_handler.py Sun Sep 14 17:19:54 2014 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -""" - A tornado-based HTTP app -""" - -import tornado.web -import tornado.httpserver -import tornado.wsgi -import werkzeug - -from pngtile import handlers - -class MainHandler (tornado.web.RequestHandler) : - """ - Main handler for the / URL, pass off requests to werkzeug-based handlers... - """ - - def build_environ (self, path) : - """ - Yield a series of (key, value) pairs suitable for use with WSGI - """ - - request = self.request - - hostport = request.host.split(":") - - if len(hostport) == 2: - host = hostport[0] - port = int(hostport[1]) - else: - host = request.host - port = 443 if request.protocol == "https" else 80 - - yield "REQUEST_METHOD", request.method - yield "SCRIPT_NAME", "" - yield "PATH_INFO", path - yield "QUERY_STRING", request.query - yield "SERVER_NAME", host - yield "SERVER_PORT", port - - yield "wsgi.version", (1, 0) - yield "wsgi.url_scheme", request.protocol - - yield "CONTENT_TYPE", request.headers.get("Content-Type") - yield "CONTENT_LENGTH", request.headers.get("Content-Length") - - for key, value in request.headers.iteritems(): - yield "HTTP_" + key.replace("-", "_").upper(), value - - def get (self, path) : - environ = dict(self.build_environ(path)) - - # build Request - request = werkzeug.Request(environ) - - # handle - try : - response = handlers.handle_req(request) - - except werkzeug.exceptions.HTTPException, ex : - response = ex - - # return - def start_response (_status, _headers) : - status = int(_status.split()[0]) - headers = _headers - - self.set_status(status) - - for name, value in headers : - self.set_header(name, value) - - # invoke Response - data = response(environ, start_response) - - # output data - for chunk in data : - self.write(chunk) - -def build_app () : - return tornado.web.Application([ - # static, from $CWD/static/ - (r"/static/(.*)", tornado.web.StaticFileHandler, dict(path = "static/")), - - # dir listings, image html, PNG tiles - (r"(/.*)", MainHandler), - ]) - -def build_httpserver (app, port) : - server = tornado.httpserver.HTTPServer(app) - server.listen(port) - - return server - -def main (port=8000) : - """ - Build the app, http server and run the main loop - """ - - import logging - - logging.basicConfig(level=logging.DEBUG) - - app = build_app() - server = build_httpserver(app, port) - - tornado.ioloop.IOLoop.instance().start() - -