| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- Features
- ========
- Testing
- -------
- * A fixture for testing WSGI applications conveniently and in-process,
- in :class:`paste.fixture.TestApp`
- * A fixture for testing command-line applications, also in
- :class:`paste.fixture.TestFileEnvironment`
- * Check components for WSGI-compliance in :mod:`paste.lint`
- * Check filesystem changes, with :mod:`paste.debug.fsdiff`
- Server
- ------
- * A threaded HTTP server in :mod:`paste.httpserver`
- * A tool for seeing and killing errant threads in the HTTP server, in
- :mod:`paste.debug.watchthreads`
- Dispatching
- -----------
- * Chain and cascade WSGI applications (returning the first non-error
- response) in :mod:`paste.cascade`
- * Dispatch to several WSGI applications based on URL prefixes, in
- :mod:`paste.urlmap`
- * Allow applications to make subrequests and forward requests
- internally, in :mod:`paste.recursive`
- * Redirect error pages (e.g., 404 Not Found) to custom error pages, in
- :mod:`paste.errordocument`.
- Web Application
- ---------------
- * Easily deal with incoming requests and sending a response in
- :mod:`paste.wsgiwrappers`
- * Work directly with the WSGI environment in :mod:`paste.request`
- * Run CGI programs as WSGI applications in :mod:`paste.cgiapp`
- * Traverse files and load WSGI applications from ``.py`` files (or
- static files), in :mod:`paste.urlparser`
- * Serve static directories of files, also in :mod:`paste.urlparser`; also
- serve using the Setuptools ``pkg_resources`` resource API.
- * Proxy to other servers, treating external HTTP servers as WSGI
- applications, in :mod:`paste.proxy`.
- * Serve files (with support for ``If-Modified-Since``, etc) in
- :mod:`paste.fileapp`
- Tools
- -----
- * Catch HTTP-related exceptions (e.g., ``HTTPNotFound``) and turn them
- into proper responses in :mod:`paste.httpexceptions`
- * Manage HTTP header fields with :mod:`paste.httpheaders`
- * Handle authentication/identification of requests in :mod:`paste.auth`
- * Create sessions in :mod:`paste.session` and :mod:`paste.flup_session`
- * Gzip responses in :mod:`paste.gzipper`
- * A wide variety of routines for manipulating WSGI requests and
- producing responses, in :mod:`paste.request`, :mod:`paste.response` and
- :mod:`paste.wsgilib`.
- * Create Apache-style logs in :mod:`paste.translogger`
- * Handy request and response wrappers in :mod:`paste.wsgiwrappers`
- * Handling of request-local module globals sanely in :mod:`paste.registry`
- Authentication
- --------------
- * Authentication using cookies in :mod:`paste.auth.cookie` and
- :mod:`paste.auth.auth_tkt`; login form in :mod:`paste.auth.form`
- * Authentication using `OpenID <http://openid.net/>`_ in
- :mod:`paste.auth.open_id`, using `CAS
- <http://www.ja-sig.org/products/cas/>`_ in :mod:`paste.auth.cas`
- * HTTP authentication in :mod:`paste.auth.basic` and
- :mod:`paste.auth.digest`
- * Dispatch to different authentication methods based on User-Agent, in
- :mod:`paste.auth.multi`
- * Grant roles based on IP addresses, in :mod:`paste.auth.grantip`
- Debugging Filters
- -----------------
- * Catch (optionally email) errors with extended tracebacks (using
- Zope/ZPT conventions) in :mod:`paste.exceptions`
- * During debugging, show tracebacks with information about each stack
- frame, including an interactive prompt that runs in the individual
- stack frames, in :mod:`paste.evalexception`.
- * Catch errors presenting a `cgitb
- <http://python.org/doc/current/lib/module-cgitb.html>`_-based
- output, in :mod:`paste.cgitb_catcher`.
- * Profile each request and append profiling information to the HTML,
- in :mod:`paste.debug.profile`
- * Capture ``print`` output and present it in the browser for
- debugging, in :mod:`paste.debug.prints`
- * Validate all HTML output from applications using the `WDG Validator
- <http://www.htmlhelp.com/tools/validator/>`_, appending any errors
- or warnings to the page, in :mod:`paste.debug.wdg_validator`
- Other Tools
- -----------
- * A file monitor to allow restarting the server when files have been
- updated (for automatic restarting when editing code) in
- :mod:`paste.reloader`
- * A class for generating and traversing URLs, and creating associated
- HTML code, in :mod:`paste.url`
- * A small templating language (for internal use) in
- :mod:`paste.util.template`
- * A class to help with loops in templates, in :mod:`paste.util.looper`
- * Import modules and objects given a string, in
- :mod:`paste.util.import_string`
- * Ordered dictionary that can have multiple values with the same key,
- in :mod:`paste.util.multidict`
|