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
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
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
""" 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()
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)
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()