summaryrefslogtreecommitdiff
path: root/src/mailman/rest/wsgiapp.py
Commit message (Collapse)AuthorAgeFilesLines
* Update WSGI functions to take necessary argumentsEric Searcy2017-02-101-5/+1
| | | | | | | | | | | | | * gunicorn.py needs to initialize mailman once, not per request. * make_application takes environment and response arguments, which it passes to the callable WSGI application (in this case, the instance of the RootedAPI class). (wsgiref does something similar, but wsgi_server only needs a copy of the application, and it passes the same two arguments to that object internally. Note, in my opinion wsgiapp.py's make_application has a misleading name, since it doesn't behave like a normal make_application (it's not invoked by a WSGI server). I've left it as-is, though, since it is public.
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
|
* Support HTTP/1.1 by default.Barry Warsaw2016-10-301-26/+3
| | | | | This works around Python issue 28548 and fixes #288. Test given by Amit.
* qa fix: unused variableamitt0012016-10-301-2/+2
|
* < python 3.5.x non-enum HTTPStatus supportamitt0012016-10-301-1/+5
|
* qa fixamitt0012016-10-301-1/+0
|
* Rest api send error response with headersamitt0012016-10-301-1/+23
|
* New template system. Closes #249Barry Warsaw2016-07-161-1/+2
| | | | | The new template system is introduced for API 3.1. See ``src/mailman/rest/docs/templates.rst`` for details.
* REST: allow setting a member's moderation_action to NoneAurélien Bompard2016-07-121-0/+2
|
* Better handling of the REST API plumbing.Barry Warsaw2016-06-281-5/+6
| | | | | | | | | * Add a version_info field which is a better way to do ordered comparisions of the API version. * All subresources now get their .api attribute set automatically, if they are passed back through the ObjectRouter. No more fiddling with context['api'] (unless of course, they don't make a roundtrip through the main ObjectRouter loop.
* Fix some tests.Barry Warsaw2016-04-031-1/+1
|
* Clean up.Barry Warsaw2016-04-031-23/+17
|
* API consistency.Barry Warsaw2016-04-031-3/+4
|
* Complete the port to Falcon 1.0.Barry Warsaw2016-04-021-0/+1
|
* Checkpointing.Barry Warsaw2016-04-021-56/+88
|
* Import order flake8 plugin.Barry Warsaw2016-03-271-2/+2
| | | | Fix lots of import order errors discovered by the new plugin.
* Clean up the rest directory.Barry Warsaw2016-03-251-17/+16
|
* Refactor API contexts.Barry Warsaw2016-01-131-2/+2
| | | | | | Rather than sprinkle API version string tests all over the place, create an IAPI interface which encapsulates the differences between API 3.0 and 3.1, and arrange for this to be used to convert to and from UUIDs.
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* Refine REST server and request handler exception handling.Barry Warsaw2015-08-241-3/+8
|
* When the client hangs up, we can't actually catch the BrokenPipeError becauseBarry Warsaw2015-08-231-1/+22
| | | | | | of the way Python stdlib's wsgiref.simple_server is structured. However, we can ensure that the error messages won't get printed to stderr, but to our http log file instead.
* Clean up based on review.Barry Warsaw2015-07-181-0/+1
|
* * REST API version 3.1 introduced. Mostly backward compatible with versionBarry Warsaw2015-07-181-7/+20
| | | | | | 3.0 except that UUIDs are represented as hex strings instead of 128-bit integers, since the latter are not compatible with all versions of JavaScript.
* Port to Falcon 0.3.Barry Warsaw2015-04-231-3/+5
|
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-3/+0
|
* Fix some basic REST plumbing, and make test_rosters pass.Barry Warsaw2014-12-111-1/+1
|
* Make it work with some pending refactoring in upstream falcon.Barry Warsaw2014-11-111-1/+2
|
* When we switch to tox, we'll get hash randomization, which breaks many tests.Barry Warsaw2014-11-061-2/+1
| | | | | | | | While I'm shipping a tox.ini, do not yet use tox to run the tests, unless you want to help fix the randomizations. In the meantime, I'm also adding a few randomization fixes, and updating to the latest falcon git trunk.
* Remove some unused code.Barry Warsaw2014-11-021-5/+0
|
* Refactor so that most modules don't need to import falcon, and so fewerBarry Warsaw2014-08-141-6/+4
| | | | | unnecessary changes are needed for upstream falcon to support restish-ish traversal.
* Complete the conversion from restish to falcon, modulo a clean up pass. AllBarry Warsaw2014-08-141-19/+56
| | | | REST tests pass. This requires an as yet unmerged internal change to falcon.
* test_addresses and test_root are both passing now.Barry Warsaw2014-08-121-2/+2
|
* Get addresses.rst, i.e. /<api>/addresses working.Barry Warsaw2014-08-121-12/+11
|
* First pass at converting to falcon for the REST API layer.Barry Warsaw2014-08-121-5/+61
| | | | | Currently, only /<api>/system and its subpaths work, but basic auth does work too. Requires a refactoring modification to falcon.
* Several internal improvements:Barry Warsaw2014-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | * New events: - ConfirmationNeededEvent is triggered when a pendable requiring confirmation is created. This allows us to define an event handler for this event which sends the user notification. - SubscriptionEvent is triggered when a member is added to a mailing list. This lets us define an event handler which sends the welcome message. * send_welcome_message() now takes a member parameter instead of an address, which lets us directly access the member's delivery mode and user display name (if the member has a user, which it might not in some cases). * Use the list id in the pendable record instead of the list name for robustness (the latter can change but the former is permanent). * Test more registration conditions. * In the bin/runner command line switch handling, default `verbose` to None instead of False. This makes it work better with nose's -E switch (log to stderr). * In call_api(), if a POST, PUT, or PATCH method is used and data is None, encode the empty dictionary; seems like the behavior of urlencode() has changed, so this is safer. * Fix style and pyflakes warnings.
* Bump copyright years.Barry Warsaw2014-01-011-1/+1
|
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* Rename mailman.database.transaction.txn to ...transactional. Modernize theBarry Warsaw2012-04-201-9/+4
| | | | module, and use it in another convenient place.
* copybumpBarry Warsaw2012-01-011-1/+1
|
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* More refactoring:Barry Warsaw2010-02-251-1/+1
| | | | | | | * Rework the [webservice] section to be more useful to restish. * Get rid of the resource_type_link * Add and test some helpers. * Move the root resources to a different module.
* Refactoring the REST support by removing unnecessary stuff and moving otherBarry Warsaw2010-02-251-0/+87
stuff around. We no longer need APIValueError or IResolvePathNames. Also, refactor the creation of the REST server so that it could be used with other WSGI frameworks.