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