diff options
Diffstat (limited to 'src/mailman/queue')
| -rw-r--r-- | src/mailman/queue/docs/rest.txt | 23 | ||||
| -rw-r--r-- | src/mailman/queue/rest.py | 6 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/mailman/queue/docs/rest.txt b/src/mailman/queue/docs/rest.txt new file mode 100644 index 000000000..62e61643f --- /dev/null +++ b/src/mailman/queue/docs/rest.txt @@ -0,0 +1,23 @@ +REST server +=========== + +Mailman is controllable through an administrative RESTful HTTP server. + + >>> from mailman.testing import helpers + >>> master = helpers.TestableMaster(helpers.wait_for_webservice) + >>> master.start('rest') + +The RESTful server can be used to access basic version information. + + >>> dump_json('http://localhost:8001/3.0/system') + http_etag: "..." + mailman_version: GNU Mailman 3.0... (...) + python_version: ... + resource_type_link: https://localhost:8001/3.0/#system + self_link: https://localhost:8001/3.0/system + + +Clean up +-------- + + >>> master.stop() diff --git a/src/mailman/queue/rest.py b/src/mailman/queue/rest.py index 0728e6fbd..148622d2b 100644 --- a/src/mailman/queue/rest.py +++ b/src/mailman/queue/rest.py @@ -35,15 +35,21 @@ from mailman.queue import Runner from mailman.rest.webservice import make_server +log = logging.getLogger('mailman.http') + + class RESTRunner(Runner): def run(self): + log.info('Starting REST server') try: make_server().serve_forever() except KeyboardInterrupt: + log.info('REST server interrupted') sys.exit(signal.SIGTERM) except select.error as (errcode, message): if errcode == errno.EINTR: + log.info('REST server exiting') sys.exit(signal.SIGTERM) raise except: |
