Fixers¶
Warning
Deprecated since version 0.15: ProxyFix
has moved to werkzeug.middleware.proxy_fix
.
All other code in this module is deprecated and will be removed
in version 1.0.
New in version 0.5.
This module includes various helpers that fix web server behavior.
-
class
werkzeug.contrib.fixers.
ProxyFix
(*args, **kwargs)¶ Deprecated since version 0.15:
werkzeug.contrib.fixers.ProxyFix
has moved towerkzeug.middleware.proxy_fix
. This import will be removed in 1.0.
-
class
werkzeug.contrib.fixers.
CGIRootFix
(app, app_root='/')¶ Wrap the application in this middleware if you are using FastCGI or CGI and you have problems with your app root being set to the CGI script’s path instead of the path users are going to visit.
Parameters: - app – the WSGI application
- app_root – Defaulting to
'/'
, you can set this to something else if your app is mounted somewhere else.
Deprecated since version 0.15: This middleware will be removed in version 1.0.
Changed in version 0.9: Added app_root parameter and renamed from
LighttpdCGIRootFix
.
-
class
werkzeug.contrib.fixers.
PathInfoFromRequestUriFix
(app)¶ On windows environment variables are limited to the system charset which makes it impossible to store the PATH_INFO variable in the environment without loss of information on some systems.
This is for example a problem for CGI scripts on a Windows Apache.
This fixer works by recreating the PATH_INFO from REQUEST_URI, REQUEST_URL, or UNENCODED_URL (whatever is available). Thus the fix can only be applied if the webserver supports either of these variables.
Parameters: app – the WSGI application Deprecated since version 0.15: This middleware will be removed in version 1.0.
-
class
werkzeug.contrib.fixers.
HeaderRewriterFix
(app, remove_headers=None, add_headers=None)¶ This middleware can remove response headers and add others. This is for example useful to remove the Date header from responses if you are using a server that adds that header, no matter if it’s present or not or to add X-Powered-By headers:
app = HeaderRewriterFix(app, remove_headers=['Date'], add_headers=[('X-Powered-By', 'WSGI')])
Parameters: - app – the WSGI application
- remove_headers – a sequence of header keys that should be removed.
- add_headers – a sequence of
(key, value)
tuples that should be added.
Deprecated since version 0.15: This middleware will be removed in 1.0.
-
class
werkzeug.contrib.fixers.
InternetExplorerFix
(app, fix_vary=True, fix_attach=True)¶ This middleware fixes a couple of bugs with Microsoft Internet Explorer. Currently the following fixes are applied:
- removing of Vary headers for unsupported mimetypes which
causes troubles with caching. Can be disabled by passing
fix_vary=False
to the constructor. see: https://support.microsoft.com/en-us/help/824847 - removes offending headers to work around caching bugs in
Internet Explorer if Content-Disposition is set. Can be
disabled by passing
fix_attach=False
to the constructor.
If it does not detect affected Internet Explorer versions it won’t touch the request / response.
Deprecated since version 0.15: This middleware will be removed in 1.0.
- removing of Vary headers for unsupported mimetypes which
causes troubles with caching. Can be disabled by passing