drop tornado server
authorTero Marttila <terom@paivola.fi>
Sun, 14 Sep 2014 17:20:12 +0300
changeset 136 caa2509e6404
parent 135 e99dd75afa15
child 137 79eedd96112d
drop tornado server
bin/tornado-server
pngtile/tornado_handler.py
--- 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()
-
--- 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()
-
-