| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| | |
|
| |
|
|
|
| |
This works around Python issue 28548 and fixes #288.
Test given by Amit.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
* 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 lots of import order errors discovered by the new plugin.
|
| | |
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
unnecessary changes are needed for upstream falcon to support restish-ish
traversal.
|
| |
|
|
| |
REST tests pass. This requires an as yet unmerged internal change to falcon.
|
| | |
|
| | |
|
| |
|
|
|
| |
Currently, only /<api>/system and its subpaths work, but basic auth does work
too. Requires a refactoring modification to falcon.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| | |
|
| |
|
|
| |
module, and use it in another convenient place.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
* 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.
|
|
|
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.
|