diff options
| author | Barry Warsaw | 2015-07-10 14:11:25 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2017-02-10 11:58:53 -0500 |
| commit | 2a4cade68d4d77c6107e090a39fad4a3011ee81d (patch) | |
| tree | 66460fdba7b0edce965404b8722fd0048aafce7a /src/mailman/rest/gunicorn.py | |
| parent | 03e04a93efa312bfec58dd267959d401e9bcf22b (diff) | |
| download | mailman-2a4cade68d4d77c6107e090a39fad4a3011ee81d.tar.gz mailman-2a4cade68d4d77c6107e090a39fad4a3011ee81d.tar.zst mailman-2a4cade68d4d77c6107e090a39fad4a3011ee81d.zip | |
Diffstat (limited to 'src/mailman/rest/gunicorn.py')
| -rw-r--r-- | src/mailman/rest/gunicorn.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/mailman/rest/gunicorn.py b/src/mailman/rest/gunicorn.py new file mode 100644 index 000000000..e628dcd61 --- /dev/null +++ b/src/mailman/rest/gunicorn.py @@ -0,0 +1,50 @@ +# Copyright (C) 2015 by the Free Software Foundation, Inc. +# +# This file is part of GNU Mailman. +# +# GNU Mailman 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. +# +# GNU Mailman 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 +# GNU Mailman. If not, see <http://www.gnu.org/licenses/>. + +"""Experimental Gunicorn based REST server. + +To use this do the following: + +* Install gunicorn as a Python 3 application (in a venv if necessary). +* Create a mailman.cfg with at least the following it it: + + [runner.rest] + start: no + +* Start Mailman as normal: `mailman start` +* Set the MAILMAN_CONFIG_FILE environment variable to the location of your + mailman.cfg file from above. +* Run: gunicorn mailman.rest.gunicorn:make_application +""" + +__all__ = [ + 'make_application', + ] + + + +def make_application(): + """Create the WSGI application, after initializing the Mailman system. + + Use this if you want to integrate Mailman's REST server with an external + WSGI server, such as gunicorn. Be sure to set the $MAILMAN_CONFIG_FILE + environment variable. + """ + from mailman.core.initialize import initialize + initialize() + from mailman.rest.wsgiapp import make_application as base_application + return base_application() |
