コード例 #1
0
ファイル: base.py プロジェクト: therewillbecode/ichnaea
def _make_app(
    app_config=TEST_CONFIG,
    _db_rw=None,
    _db_ro=None,
    _http_session=None,
    _geoip_db=None,
    _raven_client=None,
    _redis_client=None,
    _stats_client=None,
    _country_searcher=None,
    _position_searcher=None,
):
    wsgiapp = main(
        app_config,
        _db_rw=_db_rw,
        _db_ro=_db_ro,
        _geoip_db=_geoip_db,
        _http_session=_http_session,
        _raven_client=_raven_client,
        _redis_client=_redis_client,
        _stats_client=_stats_client,
        _country_searcher=_country_searcher,
        _position_searcher=_position_searcher,
    )
    return TestApp(wsgiapp)
コード例 #2
0
ファイル: base.py プロジェクト: thebent/ichnaea
def _make_app(app_config=TEST_CONFIG,
              _db_rw=None, _db_ro=None, _geoip_db=None,
              _raven_client=None, _redis_client=None, _stats_client=None):
    wsgiapp = main(
        {},
        app_config,
        _db_rw=_db_rw,
        _db_ro=_db_ro,
        _geoip_db=_geoip_db,
        _raven_client=_raven_client,
        _redis_client=_redis_client,
        _stats_client=_stats_client)
    return TestApp(wsgiapp)
コード例 #3
0
ファイル: tests.py プロジェクト: crankycoder/ichnaea
def _make_app(_db=None, _http_session=None, _geoip_db=None,
              _raven_client=None, _redis_client=None, _stats_client=None,
              _position_searcher=None, _region_searcher=None):
    wsgiapp = main(
        _db=_db,
        _geoip_db=_geoip_db,
        _http_session=_http_session,
        _raven_client=_raven_client,
        _redis_client=_redis_client,
        _stats_client=_stats_client,
        _position_searcher=_position_searcher,
        _region_searcher=_region_searcher,
    )
    return webtest.TestApp(wsgiapp)
コード例 #4
0
def wsgi_app(environ, start_response):  # pragma: no cover
    # Actual WSGI application endpoint, used on the command line via:
    # bin/gunicorn -c ichnaea.webapp.settings ichnaea.webapp.app:wsgi_app
    global _APP

    if _APP is None:
        conf = read_config()
        # Signal this call was made as part of app initialization
        _APP = main({}, conf, init=True)
        if environ is None and start_response is None:
            # Called as part of gunicorn's post_worker_init
            return _APP

    return _APP(environ, start_response)
def global_app(db, geoip_db, http_session, map_config, raven_client,
               redis_client, stats_client, position_searcher, region_searcher):
    wsgiapp = main(
        _db=db,
        _geoip_db=geoip_db,
        _http_session=http_session,
        _raven_client=raven_client,
        _redis_client=redis_client,
        _stats_client=stats_client,
        _position_searcher=position_searcher,
        _region_searcher=region_searcher,
    )
    app = webtest.TestApp(wsgiapp)
    yield app
    shutdown_app(app.app)
コード例 #6
0
def _make_app(app_config=TEST_CONFIG,
              _db_rw=None,
              _db_ro=None,
              _geoip_db=None,
              _raven_client=None,
              _redis_client=None,
              _stats_client=None):
    wsgiapp = main({},
                   app_config,
                   _db_rw=_db_rw,
                   _db_ro=_db_ro,
                   _geoip_db=_geoip_db,
                   _raven_client=_raven_client,
                   _redis_client=_redis_client,
                   _stats_client=_stats_client)
    return TestApp(wsgiapp)
コード例 #7
0
ファイル: conftest.py プロジェクト: crankycoder/ichnaea
def global_app(db, geoip_db, http_session, map_config,
               raven_client, redis_client, stats_client,
               position_searcher, region_searcher):
    wsgiapp = main(
        _db=db,
        _geoip_db=geoip_db,
        _http_session=http_session,
        _raven_client=raven_client,
        _redis_client=redis_client,
        _stats_client=stats_client,
        _position_searcher=position_searcher,
        _region_searcher=region_searcher,
    )
    app = webtest.TestApp(wsgiapp)
    yield app
    shutdown_app(app.app)
コード例 #8
0
def _make_app(
    _db=None,
    _http_session=None,
    _geoip_db=None,
    _raven_client=None,
    _redis_client=None,
    _position_searcher=None,
    _region_searcher=None,
):
    wsgiapp = main(
        _db=_db,
        _geoip_db=_geoip_db,
        _http_session=_http_session,
        _raven_client=_raven_client,
        _redis_client=_redis_client,
        _position_searcher=_position_searcher,
        _region_searcher=_region_searcher,
    )
    return webtest.TestApp(wsgiapp)
コード例 #9
0
ファイル: app.py プロジェクト: jockehewh/ichnaea
def wsgi_app(environ, start_response):  # pragma: no cover
    """
    Actual WSGI application endpoint, used on the command line via:

    .. code-block:: bash

        bin/gunicorn -c ichnaea.webapp.settings ichnaea.webapp.app:wsgi_app

    At startup reads the app config and calls
    :func:`ichnaea.webapp.config.main` once to setup the web app stored
    in the :data:`ichnaea.webapp.app._APP` global.
    """
    global _APP

    if _APP is None:
        conf = read_config()
        _APP = main(conf, ping_connections=True)
        if environ is None and start_response is None:
            # Called as part of gunicorn's post_worker_init
            return _APP

    return _APP(environ, start_response)
コード例 #10
0
ファイル: conftest.py プロジェクト: uvinduperera/ichnaea
def app_shared_session(
    db_shared_session,
    geoip_db,
    http_session,
    raven_client,
    redis_client,
    position_searcher,
    region_searcher,
):
    """Yield and cleanup a webapp based on a thread-local shared session."""
    wsgiapp = main(
        _db=db_shared_session,
        _geoip_db=geoip_db,
        _http_session=http_session,
        _raven_client=raven_client,
        _redis_client=redis_client,
        _position_searcher=position_searcher,
        _region_searcher=region_searcher,
    )
    app = webtest.TestApp(wsgiapp)
    yield app
    shutdown_app(app.app)
コード例 #11
0
ファイル: base.py プロジェクト: ingle/ichnaea
def _make_app(app_config=TEST_CONFIG,
              _db_rw=None,
              _db_ro=None,
              _http_session=None,
              _geoip_db=None,
              _raven_client=None,
              _redis_client=None,
              _stats_client=None,
              _position_searcher=None,
              _region_searcher=None):
    wsgiapp = main(
        app_config,
        _db_rw=_db_rw,
        _db_ro=_db_ro,
        _geoip_db=_geoip_db,
        _http_session=_http_session,
        _raven_client=_raven_client,
        _redis_client=_redis_client,
        _stats_client=_stats_client,
        _position_searcher=_position_searcher,
        _region_searcher=_region_searcher,
    )
    return TestApp(wsgiapp)
コード例 #12
0

def log_access_factory(wsgi_app):
    """WSGI middleware for logging HTTP requests."""

    def handle(environ, start_response):
        method = environ["REQUEST_METHOD"]
        path = environ.get("PATH_INFO", "")

        def log_response(status, headers, exc_info=None):
            content_length = ""
            for key, val in headers:
                if key.lower() == "content-length":
                    content_length = "(%s)" % val
                    break
            LOGGER.info("%s %s - %s %s", method, path, status, content_length)
            return start_response(status, headers, exc_info)

        return wsgi_app(environ, log_response)

    return handle


if __name__ == "__main__":
    if "--check" in sys.argv:
        main(ping_connections=False)
    else:
        serve(
            log_access_factory(main(ping_connections=True)), host="0.0.0.0", port=8000
        )