Exemplo n.º 1
0
def get_application():

    imported_middlewares = []

    for middleware in settings.EXTRA_MIDDLEWARES:
        middleware_parts = list(middleware.rsplit('.', 1))
        mod = importlib.import_module(middleware_parts[0])
        imported_middlewares.append(getattr(mod, middleware_parts[1]))

    middlewares = [
        rit_http_error_middleware_factory,
        bootstrap_defaults(url_mapping=all_urls),
    ] + imported_middlewares + [
        path_routing_middleware_factory
    ]
    return WSGIApplication(
        middleware=middlewares,
        options={
            'render_template': get_template_handler(),
            'ticket': Ticket(
                max_age=settings.AUTH_MAX_AGE,
                salt=settings.AUTH_SALT,
                digestmod=hashlib.sha256,
                cypher=aes256,
                options={
                    'CRYPTO_VALIDATION_KEY': settings.CRYPTO_VALIDATION_KEY,
                    'CRYPTO_ENCRYPTION_KEY': settings.CRYPTO_ENCRYPTION_KEY
                }
            ),
            'AUTH_COOKIE': settings.AUTH_COOKIE,
            'XSRF_NAME': settings.XSRF_NAME
        }
    )
Exemplo n.º 2
0
    def start_http_server(self):
        """
        Start the HTTP server.
        """

        self.wsgi_app = WSGIApplication(middleware=[
            bootstrap_defaults(url_mapping=self.URLS),
            path_routing_middleware_factory
        ],
                                        options={})

        socket_pair = (self.http_host, self.http_port)
        self.wsgi_server = make_server(self.http_host, self.http_port,
                                       self.wsgi_app)
        message = "HTTP Server running on http://{}:{}"

        logging.info(message.format(self.http_host, self.http_port))

        self.wsgi_server.serve_forever()
Exemplo n.º 3
0
    return response


def router_middleware(request, following):
    path = request.path
    if path == '/':
        response = welcome(request)
    elif path.startswith('/captcha.jpg'):
        response = captcha_handler(request)
    else:
        response = not_found()
    return response


options = {'http_cache': cache}
main = WSGIApplication([
    bootstrap_http_defaults, http_cache_middleware_factory,
    lambda ignore: router_middleware
], options)

if __name__ == '__main__':
    from wsgiref.handlers import BaseHandler
    from wsgiref.simple_server import make_server
    try:
        print('Visit http://localhost:8080/')
        BaseHandler.http_version = '1.1'
        make_server('', 8080, main).serve_forever()
    except KeyboardInterrupt:
        pass
    print('\nThanks!')
Exemplo n.º 4
0
from wheezy.http import HTTPResponse
from wheezy.http import WSGIApplication
from wheezy.routing import url
from wheezy.web.handlers import BaseHandler
from wheezy.web.middleware import bootstrap_defaults
from wheezy.web.middleware import path_routing_middleware_factory
import json


class WelcomeHandler(BaseHandler):
    def get(self):
        response = HTTPResponse()
        quote = {'message': 'Hello, World!'}
        response.write(json.dumps(quote))
        return response


all_urls = [url('', WelcomeHandler, name='default')]

options = {}
main = WSGIApplication(middleware=[
    bootstrap_defaults(url_mapping=all_urls), path_routing_middleware_factory
],
                       options=options)

if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    try:
        make_server('', 8888, main).serve_forever()
    except KeyboardInterrupt:
        pass
Exemplo n.º 5
0
}
</script>
</body></html>"""
}

engine = Engine(
    loader=DictLoader(templates),
    extensions=[CoreExtension(),
                WidgetExtension(),
                WhitespaceExtension()])

all_urls = [('', WelcomeHandler),
            url('captcha.jpg', captcha_handler, name='captcha')]

options = {'http_cache': cache, 'render_template': WheezyTemplate(engine)}
main = WSGIApplication([
    bootstrap_defaults(url_mapping=all_urls), http_cache_middleware_factory,
    path_routing_middleware_factory
], options)

if __name__ == '__main__':
    from wsgiref.handlers import BaseHandler
    from wsgiref.simple_server import make_server
    try:
        print('Visit http://localhost:8080/')
        BaseHandler.http_version = '1.1'
        make_server('', 8080, main).serve_forever()
    except KeyboardInterrupt:
        pass
    print('\nThanks!')
    """Close db_session for each request"""
    try:
        return following(request)
    finally:
        db_session.remove()


all_urls = [
    url("plaintext", plaintext, name="plaintext"),
    url("json", JsonHandler, name="json"),
    url("db", DbHandler, name="db"),
    url("queries", QueriesHandler, name="queries"),
    url("updates", UpdatesHandler, name="updates"),
    url("fortune", FortuneHandler, name="fortune")
]

options = {}

app = WSGIApplication(
    middleware = [
        bootstrap_defaults(url_mapping=all_urls),
        path_routing_middleware_factory,
        lambda _: sqlalchemy_close_middleware,
    ],
    options = options
)

if __name__ == '__main__':
    server.listen(("127.0.0.1", 8080))
    server.run(app)
Exemplo n.º 7
0
from wheezy.http import HTTPResponse, WSGIApplication
from wheezy.routing import url
from wheezy.web.handlers import BaseHandler
from wheezy.web.middleware import bootstrap_defaults
from wheezy.web.middleware import path_routing_middleware_factory

from config import PING_MESSAGE


class Ping(BaseHandler):
    def get(self):
        response = HTTPResponse()
        response.write(PING_MESSAGE.format(app='wheezyweb'))
        return response


app = WSGIApplication(middleware=[
    bootstrap_defaults([url('', Ping)]), path_routing_middleware_factory
],
                      options={})
Exemplo n.º 8
0
                socket.timeout):
            raise InvalidServerAddress(addr)


class InvalidServerAddress(Exception):
    def __init__(self, addr):
        super(InvalidServerAddress,
              self).__init__('Invalid address specified: %s' % addr)


url_map = [
    url('', MainView, name='index'),
    url('static/{path:any}',
        file_handler(root=config.app_path('static/')),
        name='static'),
]

application = WSGIApplication(middleware=[
    bootstrap_defaults(url_mapping=url_map), path_routing_middleware_factory
],
                              options=config.options)

if __name__ == '__main__':
    from wsgiref.simple_server import make_server
    try:
        LOG.info('Launching on http://localhost:5000/ ...')
        make_server('', 5000, application).serve_forever()
    except KeyboardInterrupt:
        LOG.info('... exiting')
    LOG.info('\nThanks for trying me!')