Beispiel #1
0
def main(_global_config, **settings):
    from willisau.request import CustomRequest

    config = Configurator(settings=resolve_settings(dict(settings)))

    config.add_tween('.tweens.ssl_suggestion.tween_factory')

    config.include('.route')
    config.include('.views')

    # this calls db connect/close to recycle connection
    config.set_request_factory(CustomRequest)

    config.set_default_csrf_options(require_csrf=True)
    config.scan()

    app = config.make_wsgi_app()
    # enable file logger [wsgi/access_log]
    # from paste.translogger import TransLogger
    # app = TransLogger(app, setup_console_handler=False)

    # basic auth
    env = Env()
    credentials = settings.get('wsgi.auth_credentials', None)
    if not env.is_test and credentials and credentials != '':
        env.set('WSGI_AUTH_CREDENTIALS', credentials)
        from wsgi_basic_auth import BasicAuth
        app = BasicAuth(app)
    return app
Beispiel #2
0
def make_wsgi_app():
    passwd = {'admin': '123'}
    # BasicAuth applications
    create = BasicAuth(BlogCreate, 'www', passwd)
    update = BasicAuth(BlogUpdate, 'www', passwd)
    delete = BasicAuth(BlogDelete, 'www', passwd)

    # URL dispatching middleware
    dispatch = selector.Selector()
    dispatch.add('/', GET=BlogIndex)
    dispatch.prefix = '/article'
    dispatch.add('/add', GET=create, POST=create)
    dispatch.add('/{id:digits}', GET=BlogRead)
    dispatch.add('/{id:digits}/edit', GET=update, POST=update)
    dispatch.add('/{id:digits}/delete', GET=delete)

    return dispatch
Beispiel #3
0
def main(global_config, **settings):
    from aarau.request import CustomRequest

    config = Configurator(settings=resolve_settings(dict(settings)))
    config.configure_celery(global_config['__file__'])

    config.include('.mailers')
    config.include('.models')
    config.include('.views')
    config.include('.services')
    config.include('.tasks')

    config.include('.route')
    config.include('.security')

    config.add_translation_dirs('aarau:../locale')

    # this calls db connect/close to recycle connection
    config.set_request_factory(CustomRequest)

    config.set_default_csrf_options(require_csrf=True)
    config.scan()

    app = config.make_wsgi_app()
    # enable file logger [wsgi/access_log]
    # from paste.translogger import TransLogger
    # app = TransLogger(app, setup_console_handler=False)

    # basic auth
    env = Env()
    credentials = settings.get('wsgi.auth_credentials', None)
    if not env.is_test and credentials:
        env.set('WSGI_AUTH_CREDENTIALS', credentials)
        from wsgi_basic_auth import BasicAuth
        app = BasicAuth(app)
    return app
Beispiel #4
0
"""
WSGI config for catalog project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/2.0/howto/deployment/wsgi/
"""
from gevent import monkey

monkey.patch_all()
import os

from django.core.wsgi import get_wsgi_application

from wsgi_basic_auth import BasicAuth

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "catalog.settings")

application = get_wsgi_application()
application = BasicAuth(application)
def find_assets(app):
    """Yield paths for all static files and templates."""
    for name in ['static', 'templates']:
        directory = os.path.join(app.config['PATH'], name)
        for entry in os.scandir(directory):
            if entry.is_file():
                yield entry.path


config = dwellingplace.settings.get_config(os.getenv('FLASK_ENV'))
os.environ['WSGI_AUTH_CREDENTIALS'] = config.WSGI_AUTH_CREDENTIALS

dpapp = dwellingplace.app.create_app(config)
redapp = red.create_app(config)

wsgi_app = BasicAuth(
    DispatcherMiddleware(dpapp.wsgi_app, {'/red': redapp.wsgi_app}))

if dpapp.config['USE_HTTPS']:
    wsgi_app = sslify(wsgi_app)  # pylint: disable=redefined-variable-type

dpapp.wsgi_app = wsgi_app

server = Server(host='0.0.0.0',
                extra_files=itertools.chain(find_assets(dpapp),
                                            find_assets(redapp)))

manager = Manager(dpapp)
manager.add_command('run', server)

if __name__ == '__main__':
    manager.run()
Beispiel #6
0
            def date_match_record(record):
                return record[0].isoformat(), {
                    'success': record[1],
                    'failure': record[2],
                }

            failure_cur = conn.cursor()
            failure_cur.execute("SELECT * FROM failures")
            resp.content_type = 'application/json'
            req.context['result'] = {
                'stats': StreamedDict(match_cur, date_match_record),
                'failures': list(failure_cur)
            }


app = falcon.API(middleware=[
    JSONTranslator(),
    PostgresConnectionPool(),
])

match = MatchResource()
mismatch_data = MismatchDataResource()

app.add_route('/match/', match)
app.add_route('/mismatch-data/', mismatch_data)
app.add_route('/get-match-data/', DataDownloadResource())

if os.getenv('WSGI_AUTH_CREDENTIALS'):
    app = BasicAuth(app)
Beispiel #7
0
from flask_script import Manager, Server
from wsgi_basic_auth import BasicAuth

from red import create_app
from red.settings import get_config


def find_assets(app):
    """Yield paths for all static files and templates."""
    for name in ['static', 'templates']:
        directory = os.path.join(app.config['PATH'], name)
        for entry in os.scandir(directory):
            if entry.is_file():
                yield entry.path


config = get_config(os.getenv('FLASK_ENV'))
os.environ['WSGI_AUTH_CREDENTIALS'] = config.WSGI_AUTH_CREDENTIALS

application = create_app(config)
application.wsgi_app = BasicAuth(application.wsgi_app)

server = Server(host='0.0.0.0', extra_files=find_assets(application))

manager = Manager(application)
manager.add_command('run', server)


if __name__ == '__main__':
    manager.run()