diff options
| -rwxr-xr-x | scripts/docker/files/bin/setup-test-env.py | 2 | ||||
| -rw-r--r-- | server/pkg/soledad-server | 2 | ||||
| -rw-r--r-- | server/src/leap/soledad/server/__init__.py | 44 | ||||
| -rw-r--r-- | server/src/leap/soledad/server/application.py | 47 | ||||
| -rw-r--r-- | testing/tests/perf/conftest.py | 2 | 
5 files changed, 54 insertions, 43 deletions
| diff --git a/scripts/docker/files/bin/setup-test-env.py b/scripts/docker/files/bin/setup-test-env.py index 4868fd56..bbf5267c 100755 --- a/scripts/docker/files/bin/setup-test-env.py +++ b/scripts/docker/files/bin/setup-test-env.py @@ -256,7 +256,7 @@ def soledad_server_start(args):          '--logfile=%s' % logfile,          '--pidfile=%s' % pidfile,          'web', -        '--wsgi=leap.soledad.server.application', +        '--wsgi=leap.soledad.server.application.wsgi_application',          '--port=%s' % port      ]      if args.no_daemonize: diff --git a/server/pkg/soledad-server b/server/pkg/soledad-server index 9dada6a0..d9dab040 100644 --- a/server/pkg/soledad-server +++ b/server/pkg/soledad-server @@ -11,7 +11,7 @@  PATH=/sbin:/bin:/usr/sbin:/usr/bin  PIDFILE=/var/run/soledad.pid -OBJ=leap.soledad.server.application +OBJ=leap.soledad.server.application.wsgi_application  HTTPS_PORT=2424  CONFDIR=/etc/soledad  CERT_PATH="${CONFDIR}/soledad-server.pem" diff --git a/server/src/leap/soledad/server/__init__.py b/server/src/leap/soledad/server/__init__.py index d154e3fe..d8243c19 100644 --- a/server/src/leap/soledad/server/__init__.py +++ b/server/src/leap/soledad/server/__init__.py @@ -25,7 +25,9 @@ General information  This is written as a Twisted application and intended to be run using the  twistd command. To start the soledad server, run: -    twistd -n web --wsgi=leap.soledad.server.application --port=X +    twistd -n web \ +        --wsgi=leap.soledad.server.application.wsgi_application \ +        --port=X  An initscript is included and will be installed system wide to make it  feasible to start and stop the Soledad server service using a standard @@ -84,24 +86,17 @@ import urlparse  import sys  from leap.soledad.common.l2db.remote import http_app, utils +from leap.soledad.common import SHARED_DB_NAME -from leap.soledad.server.auth import SoledadTokenAuthMiddleware -from leap.soledad.server.gzip_middleware import GzipMiddleware  from leap.soledad.server.sync import SyncResource  from leap.soledad.server.sync import MAX_REQUEST_SIZE  from leap.soledad.server.sync import MAX_ENTRY_SIZE -from leap.soledad.server.config import load_configuration - -from leap.soledad.common import SHARED_DB_NAME -from leap.soledad.common.backend import SoledadBackend -from leap.soledad.common.couch.state import CouchServerState  from ._version import get_versions  __all__ = [      'SoledadApp', -    'application',      '__version__',  ] @@ -255,36 +250,5 @@ class HTTPInvocationByMethodWithBody(  http_app.HTTPInvocationByMethodWithBody = HTTPInvocationByMethodWithBody -# ---------------------------------------------------------------------------- -# Run as Twisted WSGI Resource -# ---------------------------------------------------------------------------- - - -def _load_config(): -    conf = load_configuration('/etc/soledad/soledad-server.conf') -    return conf['soledad-server'] - - -def _get_couch_state(): -    conf = _load_config() -    state = CouchServerState(conf['couch_url'], create_cmd=conf['create_cmd'], -                             check_schema_versions=True) -    SoledadBackend.BATCH_SUPPORT = conf.get('batching', False) -    return state - -try: -    _couch_state = _get_couch_state() -    # a WSGI application that may be used by `twistd -web` -    application = GzipMiddleware( -        SoledadTokenAuthMiddleware(SoledadApp(_couch_state))) -except: -    pass - - -# another WSGI application in which we bypass token auth middleware for ease of -# mind while debugging in your local environment -# debug_local_application_do_not_use = SoledadApp(_couch_state) - -  __version__ = get_versions()['version']  del get_versions diff --git a/server/src/leap/soledad/server/application.py b/server/src/leap/soledad/server/application.py new file mode 100644 index 00000000..a9ebcaf6 --- /dev/null +++ b/server/src/leap/soledad/server/application.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# application.py +# Copyright (C) 2013 LEAP +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +from leap.soledad.server import SoledadApp +from leap.soledad.server.auth import SoledadTokenAuthMiddleware +from leap.soledad.server.gzip_middleware import GzipMiddleware +from leap.soledad.server.config import load_configuration +from leap.soledad.common.backend import SoledadBackend +from leap.soledad.common.couch.state import CouchServerState + + +# ---------------------------------------------------------------------------- +# Run as Twisted WSGI Resource +# ---------------------------------------------------------------------------- + +def _load_config(): +    conf = load_configuration('/etc/soledad/soledad-server.conf') +    return conf['soledad-server'] + + +def _get_couch_state(): +    conf = _load_config() +    state = CouchServerState(conf['couch_url'], create_cmd=conf['create_cmd'], +                             check_schema_versions=True) +    SoledadBackend.BATCH_SUPPORT = conf.get('batching', False) +    return state + + +_couch_state = _get_couch_state() + +# a WSGI application that may be used by `twistd -web` +wsgi_application = GzipMiddleware( +    SoledadTokenAuthMiddleware(SoledadApp(_couch_state))) diff --git a/testing/tests/perf/conftest.py b/testing/tests/perf/conftest.py index 5ac1f3c0..6fa6b2c0 100644 --- a/testing/tests/perf/conftest.py +++ b/testing/tests/perf/conftest.py @@ -162,7 +162,7 @@ class SoledadServer(object):              '--logfile=%s' % self._logfile,              '--pidfile=%s' % self._pidfile,              'web', -            '--wsgi=leap.soledad.server.application', +            '--wsgi=leap.soledad.server.application.wsgi_application',              '--port=2424'          ]) | 
