diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/docs/NEWS.rst | 2 | ||||
| -rw-r--r-- | src/mailman/rest/gunicorn.py | 60 |
2 files changed, 2 insertions, 60 deletions
diff --git a/src/mailman/docs/NEWS.rst b/src/mailman/docs/NEWS.rst index 5b580bd9d..d2d4a39d2 100644 --- a/src/mailman/docs/NEWS.rst +++ b/src/mailman/docs/NEWS.rst @@ -195,6 +195,8 @@ REST integers, since the latter are not compatible with all versions of JavaScript. (Closes #121) * REST clients must minimally support HTTP/1.1. (Closes #288) + * Experimental Gunicorn support. See ``contrib/gunicorn.py`` docstring for + details. With assistance from Eric Searcy. (Closes #287) * The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details. (Closes #249) * When creating a user via REST using an address that already exists, but diff --git a/src/mailman/rest/gunicorn.py b/src/mailman/rest/gunicorn.py deleted file mode 100644 index 489828715..000000000 --- a/src/mailman/rest/gunicorn.py +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (C) 2015-2017 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 in 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:run -""" - -from public import public - - -_initialized = False - - -@public -def run(environ, start_response): - """Create the WSGI application. - - 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. - """ - # Imports are here to evaluate them lazily, prevent circular imports, and - # make flake8 happy. - global _initialized - if not _initialized: - from mailman.core.initialize import initialize - # First things first, initialize the system before any other imports or - # other operations. It must only be initialized once though. - initialize(propagate_logs=True) - _initialized = True - # Hook things up to WSGI. - from mailman.rest.wsgiapp import make_application - app = make_application() - return app(environ, start_response) |
