From f70fd5ce130b0c6d69634d4e6c5f7752130d2579 Mon Sep 17 00:00:00 2001 From: Marcus Kammer Date: Wed, 2 Feb 2022 19:51:45 +0100 Subject: [PATCH] Update werkzeug info --- info/werkzeug.info | 10511 +++++++++++++++++++++++-------------------- 1 file changed, 5507 insertions(+), 5004 deletions(-) diff --git a/info/werkzeug.info b/info/werkzeug.info index 0378ae52..cbfb5556 100644 --- a/info/werkzeug.info +++ b/info/werkzeug.info @@ -1,7 +1,7 @@ This is werkzeug.info, produced by makeinfo version 6.7 from werkzeug.texi. - Werkzeug 2.1.0.dev0, Feb 01, 2022 + Werkzeug 2.0.2, Feb 01, 2022 Pallets @@ -13,7 +13,7 @@ START-INFO-DIR-ENTRY END-INFO-DIR-ENTRY - Generated by Sphinx 4.3.2. + Generated by Sphinx 4.2.0.  File: werkzeug.info, Node: Top, Next: Getting Started, Up: (dir) @@ -21,7 +21,7 @@ File: werkzeug.info, Node: Top, Next: Getting Started, Up: (dir) Werkzeug ******** - Werkzeug 2.1.0.dev0, Feb 01, 2022 + Werkzeug 2.0.2, Feb 01, 2022 Pallets @@ -71,7 +71,6 @@ Installation Dependencies * Optional dependencies:: -* greenlet:: Virtual environments @@ -141,6 +140,7 @@ Reference * Request / Response Objects:: * URL Routing:: * WSGI Helpers:: +* Filesystem Utilities:: * HTTP Utilities:: * Data Structures:: * Utilities:: @@ -193,9 +193,11 @@ Data Structures Utilities +* HTML Helpers:: * General Helpers:: * URL Helpers:: * User Agent API:: +* UserAgent Parsing (deprecated): UserAgent Parsing deprecated. * Security Helpers:: * Logging:: @@ -255,6 +257,7 @@ Additional Information * Important Terms:: * Unicode:: +* The Filesystem:: * Dealing with Request Data:: * BSD-3-Clause License:: * Changes:: @@ -282,8 +285,6 @@ Dealing with Request Data Changes -* Version 2.1.0: Version 2 1 0. -* Version 2.0.3: Version 2 0 3. * Version 2.0.2: Version 2 0 2. * Version 2.0.1: Version 2 0 1. * Version 2.0.0: Version 2 0 0. @@ -398,7 +399,7 @@ File: werkzeug.info, Node: Python Version, Next: Dependencies, Up: Installati -------------------- We recommend using the latest version of Python. Werkzeug supports -Python 3.7 and newer. +Python 3.6 and newer.  File: werkzeug.info, Node: Dependencies, Next: Virtual environments, Prev: Python Version, Up: Installation @@ -411,10 +412,9 @@ Werkzeug does not have any direct dependencies. * Menu: * Optional dependencies:: -* greenlet::  -File: werkzeug.info, Node: Optional dependencies, Next: greenlet, Up: Dependencies +File: werkzeug.info, Node: Optional dependencies, Up: Dependencies 1.1.2.1 Optional dependencies ............................. @@ -435,20 +435,6 @@ detect and use them if you install them. (2) https://pypi.org/project/watchdog/ - -File: werkzeug.info, Node: greenlet, Prev: Optional dependencies, Up: Dependencies - -1.1.2.2 greenlet -................ - -You may choose to use gevent or eventlet with your application. In this -case, greenlet>=1.0 is required. When using PyPy, PyPy>=7.3.7 is -required. - -These are not minimum supported versions, they only indicate the first -versions that added necessary features. You should use the latest -versions of each. -  File: werkzeug.info, Node: Virtual environments, Next: Install Werkzeug, Prev: Dependencies, Up: Installation @@ -704,9 +690,7 @@ middleware that exports all the files on the ‘static’ folder on the web: class Shortly(object): def __init__(self, config): - self.redis = redis.Redis( - config['redis_host'], config['redis_port'], decode_responses=True - ) + self.redis = redis.Redis(config['redis_host'], config['redis_port']) def dispatch_request(self, request): return Response('Hello World!') @@ -806,7 +790,7 @@ File: werkzeug.info, Node: Step 4 The Routing, Next: Step 5 The First View, P Next up is routing. Routing is the process of matching and parsing the URL to something we can use. Werkzeug provides a flexible integrated routing system which we can use for that. The way it works is that you -create a *note Map: 2f. instance and add a bunch of *note Rule: 30. +create a *note Map: 30. instance and add a bunch of *note Rule: 31. objects. Each rule has a pattern it will try to match the URL against and an “endpoint”. The endpoint is typically a string and can be used to uniquely identify the URL. We could also use this to automatically @@ -848,8 +832,8 @@ to ‘http://localhost:5000/foo’ we will get the following values back: endpoint = 'follow_short_link' values = {'short_id': 'foo'} -If it does not match anything, it will raise a *note NotFound: 31. -exception, which is an *note HTTPException: 32. All HTTP exceptions are +If it does not match anything, it will raise a *note NotFound: 32. +exception, which is an *note HTTPException: 33. All HTTP exceptions are also WSGI applications by themselves which render a default error page. So we just catch all of them down and return the error itself. @@ -936,7 +920,7 @@ so that we know how often a link was clicked: self.redis.incr(f'click-count:{short_id}') return redirect(link_target) -In this case we will raise a *note NotFound: 31. exception by hand if +In this case we will raise a *note NotFound: 32. exception by hand if the URL does not exist, which will bubble up to the ‘dispatch_request’ function and be converted into a default 404 response. @@ -1512,121 +1496,110 @@ additional files (like configuration files) you want to observe. request_handler=None, static_files=None, passthrough_errors=False, ssl_context=None) - Start a development server for a WSGI application. Various - optional features can be enabled. + Start a WSGI application. Optional features include a reloader, + multithreading and fork support. - Warning: Do not use the development server when deploying to - production. It is intended for use only during local - development. It is not designed to be particularly efficient, - stable, or secure. + This function has a command-line interface too: + + python -m werkzeug.serving --help + + Changed in version 2.0: Added ‘exclude_patterns’ parameter. + + Changed in version 0.15: Bind to a Unix socket by passing a path + that starts with ‘unix://’ as the ‘hostname’. + + New in version 0.10: Improved the reloader and added support for + changing the backend through the ‘reloader_type’ parameter. See + *note Reloader: 48. for more information. + + New in version 0.9: Added command-line interface. + + New in version 0.8: Added support for automatically loading a SSL + context from certificate file and private key. + + New in version 0.6: support for SSL was added. + + New in version 0.5: ‘static_files’ was added to simplify serving of + static files as well as ‘passthrough_errors’. Parameters: * ‘hostname’ (str(1)) – The host to bind to, for example - ‘'localhost'’. Can be a domain, IPv4 or IPv6 address, or file - path starting with ‘unix://’ for a Unix socket. + ‘'localhost'’. If the value is a path that starts with + ‘unix://’ it will bind to a Unix socket instead of a TCP + socket.. - * ‘port’ (int(2)) – The port to bind to, for example ‘8080’. - Using ‘0’ tells the OS to pick a random free port. + * ‘port’ (int(2)) – The port for the server. eg: ‘8080’ - * ‘application’ (‘WSGIApplication’) – The WSGI application to - run. + * ‘application’ (‘WSGIApplication’) – the WSGI application to + execute - * ‘use_reloader’ (bool(3)) – Use a reloader process to restart - the server process when files are changed. + * ‘use_reloader’ (bool(3)) – should the server automatically + restart the python process if modules were changed? - * ‘use_debugger’ (bool(4)) – Use Werkzeug’s debugger, which will - show formatted tracebacks on unhandled exceptions. + * ‘use_debugger’ (bool(4)) – should the werkzeug debugging + system be used? - * ‘use_evalex’ (bool(5)) – Make the debugger interactive. A - Python terminal can be opened for any frame in the traceback. - Some protection is provided by requiring a PIN, but this - should never be enabled on a publicly visible server. + * ‘use_evalex’ (bool(5)) – should the exception evaluation + feature be enabled? - * ‘extra_files’ (‘Optional’‘[’‘Iterable’‘[’str(6)‘]’‘]’) – The - reloader will watch these files for changes in addition to - Python modules. For example, watch a configuration file. + * ‘extra_files’ (‘Optional’‘[’‘Iterable’‘[’str(6)‘]’‘]’) – a + list of files the reloader should watch additionally to the + modules. For example configuration files. * ‘exclude_patterns’ (‘Optional’‘[’‘Iterable’‘[’str(7)‘]’‘]’) – - The reloader will ignore changes to any files matching these - fnmatch(8) patterns. For example, ignore cache files. + List of fnmatch(8) patterns to ignore when running the + reloader. For example, ignore cache files that shouldn’t + reload when updated. - * ‘reloader_interval’ (int(9)) – How often the reloader tries to - check for changes. + * ‘reloader_interval’ (int(9)) – the interval for the reloader + in seconds. - * ‘reloader_type’ (str(10)) – The reloader to use. The ‘'stat'’ - reloader is built in, but may require significant CPU to watch - files. The ‘'watchdog'’ reloader is much more efficient but - requires installing the ‘watchdog’ package first. + * ‘reloader_type’ (str(10)) – the type of reloader to use. The + default is auto detection. Valid values are ‘'stat'’ and + ‘'watchdog'’. See *note Reloader: 48. for more information. - * ‘threaded’ (bool(11)) – Handle concurrent requests using - threads. Cannot be used with ‘processes’. + * ‘threaded’ (bool(11)) – should the process handle each request + in a separate thread? - * ‘processes’ (int(12)) – Handle concurrent requests using up to - this number of processes. Cannot be used with ‘threaded’. + * ‘processes’ (int(12)) – if greater than 1 then handle each + request in a new process up to this maximum number of + concurrent processes. * ‘request_handler’ (‘Optional’‘[’‘Type’‘[’‘werkzeug.serving.WSGIRequestHandler’‘]’‘]’) - – Use a different ‘BaseHTTPRequestHandler’ subclass to handle - requests. + – optional parameter that can be used to replace the default + one. You can use this to replace it with a different + ‘BaseHTTPRequestHandler’ subclass. * ‘static_files’ (‘Optional’‘[’‘Dict’‘[’str(13)‘, ’‘Union’‘[’str(14)‘, ’‘Tuple’‘[’str(15)‘, - ’str(16)‘]’‘]’‘]’‘]’) – A dict mapping URL prefixes to - directories to serve static files from using - ‘SharedDataMiddleware’. + ’str(16)‘]’‘]’‘]’‘]’) – a list or dict of paths for static + files. This works exactly like ‘SharedDataMiddleware’, it’s + actually just wrapping the application in that middleware + before serving. - * ‘passthrough_errors’ (bool(17)) – Don’t catch unhandled - exceptions at the server level, let the serve crash instead. - If ‘use_debugger’ is enabled, the debugger will still catch - such errors. + * ‘passthrough_errors’ (bool(17)) – set this to ‘True’ to + disable the error catching. This means that the server will + die on errors but it can be useful to hook debuggers in (pdb + etc.) * ‘ssl_context’ (‘Optional’‘[’‘Union’‘[’ssl.SSLContext(18)‘, ’‘Tuple’‘[’str(19)‘, ’‘Optional’‘[’str(20)‘]’‘]’‘, - ’‘te.Literal’‘[’‘'adhoc'’‘]’‘]’‘]’) – Configure TLS to serve - over HTTPS. Can be an ssl.SSLContext(21) object, a - ‘(cert_file, key_file)’ tuple to create a typical context, or - the string ‘'adhoc'’ to generate a temporary self-signed - certificate. + ’‘te.Literal’‘[’‘'adhoc'’‘]’‘]’‘]’) – an SSL context for the + connection. Either an ssl.SSLContext(21), a tuple in the form + ‘(cert_file, pkey_file)’, the string ‘'adhoc'’ if the server + should automatically create one, or ‘None’ to disable SSL + (which is the default). Return type: None(22) - Changed in version 2.1: Instructions are shown for dealing with an - “address already in use” error. - - Changed in version 2.1: Running on ‘0.0.0.0’ or ‘::’ shows the - loopback IP in addition to a real IP. - - Changed in version 2.1: The command-line interface was removed. - - Changed in version 2.0: Running on ‘0.0.0.0’ or ‘::’ shows a real - IP address that was bound as well as a warning not to run the - development server in production. - - Changed in version 2.0: The ‘exclude_patterns’ parameter was added. - - Changed in version 0.15: Bind to a Unix socket by passing a - ‘hostname’ that starts with ‘unix://’. - - Changed in version 0.10: Improved the reloader and added support - for changing the backend through the ‘reloader_type’ parameter. - - Changed in version 0.9: A command-line interface was added. - - Changed in version 0.8: ‘ssl_context’ can be a tuple of paths to - the certificate and private key files. - - Changed in version 0.6: The ‘ssl_context’ parameter was added. - - Changed in version 0.5: The ‘static_files’ and ‘passthrough_errors’ - parameters were added. - -- Function: werkzeug.serving.is_running_from_reloader () - Check if the server is running as a subprocess within the Werkzeug - reloader. + Checks if the application is running from within the Werkzeug + reloader subprocess. New in version 0.10. @@ -1642,7 +1615,7 @@ additional files (like configuration files) you want to observe. either a host or CN. If a host is given it will use the CN ‘*.host/CN=host’. - For more information see *note run_simple(): 46. + For more information see *note run_simple(): 47. New in version 0.9. @@ -1664,7 +1637,7 @@ additional files (like configuration files) you want to observe. Information: The development server is not intended to be used on production systems. It was designed especially for development purposes and performs poorly under high load. For deployment - setups have a look at the *note Application Deployment: 49. pages. + setups have a look at the *note Application Deployment: 4b. pages. * Menu: @@ -1762,7 +1735,7 @@ If ‘watchdog’ is installed and available it will automatically be used instead of the builtin ‘stat’ reloader. To switch between the backends you can use the ‘reloader_type’ parameter -of the *note run_simple(): 46. function. ‘'stat'’ sets it to the +of the *note run_simple(): 47. function. ‘'stat'’ sets it to the default stat based polling and ‘'watchdog'’ forces it to the watchdog backend. @@ -1817,7 +1790,7 @@ after ‘localhost’: Save the changes and after a while you should be able to access the development server on these host names as well. You can use the *note -URL Routing: 4f. system to dispatch between different hosts or parse +URL Routing: 50. system to dispatch between different hosts or parse ‘request.host’ yourself. ---------- Footnotes ---------- @@ -1864,6 +1837,23 @@ server that can be started as a Python process could use the same technique and should be preferred for security. Another method could be to start a subprocess(2) process and send the value back over ‘stdout’. +Deprecated since version 2.0: Shutting down the server with +‘environ["werkzeug.server.shutdown"]’ is deprecated and will be removed +in Werkzeug 2.1. + +The development server provides a way to shutdown the server from a +request. This will only work with the development server. The +development server injects a function into the WSGI environ with the +‘"werkzeug.server.shutdown"’ key. + + def shutdown_server(environ): + shutdown = environ.get("werkzeug.server.shutdown") + + if shutdown is None: + raise RuntimeError("Not running the development server.") + + shutdown() + ---------- Footnotes ---------- (1) @@ -1947,7 +1937,7 @@ provide the name of your server on generation or a ‘CN’. ('/path/to/the/key.crt', '/path/to/the/key.key') 2. Now this tuple can be passed as ‘ssl_context’ to the *note - run_simple(): 46. method: + run_simple(): 47. method: run_simple('localhost', 4000, application, ssl_context=('/path/to/the/key.crt', @@ -1976,7 +1966,7 @@ File: werkzeug.info, Node: Generating Certificates, Next: Adhoc Certificates, ............................... A key and certificate can be created in advance using the openssl tool -instead of the *note make_ssl_devcert(): 48. This requires that you +instead of the *note make_ssl_devcert(): 4a. This requires that you have the ‘openssl’ command installed on your system: $ openssl genrsa 1024 > ssl.key @@ -2008,7 +1998,7 @@ File: werkzeug.info, Node: Unix Sockets, Prev: SSL, Up: Serving WSGI Applicat ------------------ The dev server can bind to a Unix socket instead of a TCP socket. *note -run_simple(): 46. will bind to a Unix socket if the ‘hostname’ parameter +run_simple(): 47. will bind to a Unix socket if the ‘hostname’ parameter starts with ‘'unix://'’. from werkzeug.serving import run_simple @@ -2033,7 +2023,7 @@ File: werkzeug.info, Node: Test Client, Next: Request Body, Up: Testing WSGI 2.2.1 Test Client ----------------- -Werkzeug provides a *note Client: 5c. to simulate requests to a WSGI +Werkzeug provides a *note Client: 5d. to simulate requests to a WSGI application without starting a server. The client has methods for making different types of requests, as well as managing cookies across requests. @@ -2049,8 +2039,8 @@ requests. >>> response.get_data(as_text=True) '’. Each value in *note files: b8. is a - Werkzeug *note FileStorage: b9. object. + *note MultiDict: 83. object containing all uploaded files. + Each key in *note files: ba. is the name from the ‘’. Each value in *note files: ba. is a + Werkzeug *note FileStorage: bb. object. It basically behaves like a standard file object you know from Python, with the difference that it also has a *note save(): - ba. function that can store the file on the filesystem. + bc. function that can store the file on the filesystem. - Note that *note files: b8. will only contain data if the + Note that *note files: ba. will only contain data if the request method was POST, PUT or PATCH and the ‘
’ that posted to the request had ‘enctype="multipart/form-data"’. It will be empty otherwise. - See the *note MultiDict: 82. / *note FileStorage: b9. + See the *note MultiDict: 83. / *note FileStorage: bb. documentation for more details about the used data structure. - -- Property: form: ImmutableMultiDict[str(21), str(22)] + -- Property: form: ImmutableMultiDict[str(22), str(23)] The form parameters. By default an *note ImmutableMultiDict: - a7. is returned from this function. This can be changed by - setting *note parameter_storage_class: a8. to a different + a8. is returned from this function. This can be changed by + setting *note parameter_storage_class: a9. to a different type. This might be necessary if the order of the form data is important. Please keep in mind that file uploads will not end up here, - but instead in the *note files: b8. attribute. + but instead in the *note files: ba. attribute. Changed in version 0.9: Previous to Werkzeug 0.9 this would only contain form data for POST and PUT requests. -- Attribute: form_data_parser_class - alias of *note werkzeug.formparser.FormDataParser: bd. + alias of *note werkzeug.formparser.FormDataParser: bf. -- Method: classmethod from_values (*args, **kwargs) @@ -3502,10 +3492,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o there is a full featured client object (‘Client’) that allows to create multipart requests, support for cookies etc. - This accepts the same options as the *note EnvironBuilder: 61. + This accepts the same options as the *note EnvironBuilder: 62. Changed in version 0.5: This method now accepts the same - arguments as *note EnvironBuilder: 61. Because of this the + arguments as *note EnvironBuilder: 62. Because of this the ‘environ’ parameter is now called ‘environ_overrides’. @@ -3519,9 +3509,9 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o * ‘kwargs’ (‘Any’) – - Return type: *note werkzeug.wrappers.request.Request: 71. + Return type: *note werkzeug.wrappers.request.Request: 72. - -- Property: full_path: str(23) + -- Property: full_path: str(24) Requested path, including the query string. @@ -3556,35 +3546,35 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘cache’ (bool(24)) – + * ‘cache’ (bool(25)) – - * ‘as_text’ (bool(25)) – + * ‘as_text’ (bool(26)) – - * ‘parse_form_data’ (bool(26)) – + * ‘parse_form_data’ (bool(27)) – - Return type: Union[bytes(27), str(28)] + Return type: Union[bytes(28), str(29)] -- Method: get_json (force=False, silent=False, cache=True) - Parse *note data: b4. as JSON. + Parse *note data: b5. as JSON. If the mimetype does not indicate JSON (‘application/json’, - see *note is_json: c2.), this returns ‘None’. + see *note is_json: c4.), this returns ‘None’. - If parsing fails, *note on_json_loading_failed(): c3. is + If parsing fails, *note on_json_loading_failed(): c5. is called and its return value is used as the return value. Parameters: - * ‘force’ (bool(29)) – Ignore the mimetype and always try + * ‘force’ (bool(30)) – Ignore the mimetype and always try to parse JSON. - * ‘silent’ (bool(30)) – Silence parsing errors and return + * ‘silent’ (bool(31)) – Silence parsing errors and return ‘None’ instead. - * ‘cache’ (bool(31)) – Store the parsed JSON to return for + * ‘cache’ (bool(32)) – Store the parsed JSON to return for subsequent calls. @@ -3594,38 +3584,38 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o The headers received with the request. - -- Property: host: str(32) + -- Property: host: str(33) The host name the request was made to, including the port if it’s non-standard. Validated with ‘trusted_hosts’. - -- Property: host_url: str(33) + -- Property: host_url: str(34) The request URL scheme and host only. - -- Property: if_match: *note werkzeug.datastructures.ETags: c8. + -- Property: if_match: *note werkzeug.datastructures.ETags: ca. An object containing all the etags in the ‘If-Match’ header. - Return type: *note ETags: c8. + Return type: *note ETags: ca. - -- Property: if_modified_since: Optional[datetime.datetime(34)] + -- Property: if_modified_since: Optional[datetime.datetime(35)] The parsed ‘If-Modified-Since’ header as a datetime object. Changed in version 2.0: The datetime object is timezone-aware. -- Property: if_none_match: *note werkzeug.datastructures.ETags: - c8. + ca. An object containing all the etags in the ‘If-None-Match’ header. - Return type: *note ETags: c8. + Return type: *note ETags: ca. - -- Property: if_range: *note werkzeug.datastructures.IfRange: cc. + -- Property: if_range: *note werkzeug.datastructures.IfRange: ce. The parsed ‘If-Range’ header. @@ -3633,7 +3623,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.7. - -- Property: if_unmodified_since: Optional[datetime.datetime(35)] + -- Property: if_unmodified_since: Optional[datetime.datetime(36)] The parsed ‘If-Unmodified-Since’ header as a datetime object. @@ -3644,10 +3634,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o The WSGI input stream. In general it’s a bad idea to use this one because you can - easily read past the boundary. Use the *note stream: 98. + easily read past the boundary. Use the *note stream: 99. instead. - -- Property: is_json: bool(36) + -- Property: is_json: bool(37) Check if the mimetype indicates JSON data, either ‘application/json’ or ‘application/*+json’. @@ -3669,61 +3659,61 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o example, but it’s not guaranteed that the execution only happens one time. - -- Property: is_secure: bool(37) + -- Property: is_secure: bool(38) ‘True’ if the request was made with a secure protocol (HTTPS or WSS). -- Property: json: Optional[Any] - The parsed JSON data if *note mimetype: d4. indicates JSON - (‘application/json’, see *note is_json: c2.). + The parsed JSON data if *note mimetype: d6. indicates JSON + (‘application/json’, see *note is_json: c4.). - Calls *note get_json(): c1. with default arguments. + Calls *note get_json(): c3. with default arguments. -- Attribute: json_module = A module or other object that has ‘dumps’ and ‘loads’ - functions that match the API of the built-in json(38) module. + functions that match the API of the built-in json(39) module. -- Attribute: list_storage_class - alias of *note werkzeug.datastructures.ImmutableList: d7. + alias of *note werkzeug.datastructures.ImmutableList: d9. -- Method: make_form_data_parser () Creates the form data parser. Instantiates the *note - form_data_parser_class: bc. with some parameters. + form_data_parser_class: be. with some parameters. New in version 0.8. - Return type: *note werkzeug.formparser.FormDataParser: bd. + Return type: *note werkzeug.formparser.FormDataParser: bf. - -- Attribute: max_content_length: Optional[int(39)] = None + -- Attribute: max_content_length: Optional[int(40)] = None the maximum content length. This is forwarded to the form data parsing function (‘parse_form_data()’). When set and the - *note form: bb. or *note files: b8. attribute is accessed and + *note form: bd. or *note files: ba. attribute is accessed and the parsing fails because more than the specified value is - transmitted a *note RequestEntityTooLarge: da. exception is + transmitted a *note RequestEntityTooLarge: dc. exception is raised. - Have a look at *note Dealing with Request Data: db. for more + Have a look at *note Dealing with Request Data: dd. for more details. New in version 0.5. - -- Attribute: max_form_memory_size: Optional[int(40)] = None + -- Attribute: max_form_memory_size: Optional[int(41)] = None the maximum form field size. This is forwarded to the form data parsing function (‘parse_form_data()’). When set and the - *note form: bb. or *note files: b8. attribute is accessed and + *note form: bd. or *note files: ba. attribute is accessed and the data in memory for post data is longer than the specified - value a *note RequestEntityTooLarge: da. exception is raised. + value a *note RequestEntityTooLarge: dc. exception is raised. - Have a look at *note Dealing with Request Data: db. for more + Have a look at *note Dealing with Request Data: dd. for more details. New in version 0.5. @@ -3739,14 +3729,14 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o The method the request was made with, such as ‘GET’. - -- Property: mimetype: str(41) + -- Property: mimetype: str(42) - Like *note content_type: b2, but without parameters (eg, + Like *note content_type: b3, but without parameters (eg, without charset, type etc.) and always lowercase. For example if the content type is ‘text/HTML; charset=utf-8’ the mimetype would be ‘'text/html'’. - -- Property: mimetype_params: Dict[str(42), str(43)] + -- Property: mimetype_params: Dict[str(43), str(44)] The mimetype parameters as dict. For example if the content type is ‘text/html; charset=utf-8’ the params would be @@ -3754,13 +3744,13 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o -- Method: on_json_loading_failed (e) - Called if *note get_json(): c1. parsing fails and isn’t + Called if *note get_json(): c3. parsing fails and isn’t silenced. If this method returns a value, it is used as the - return value for *note get_json(): c1. The default - implementation raises *note BadRequest: e0. + return value for *note get_json(): c3. The default + implementation raises *note BadRequest: e2. - Parameters: ‘e’ (ValueError(44)) – + Parameters: ‘e’ (ValueError(45)) – Return type: Any @@ -3773,14 +3763,14 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o -- Attribute: parameter_storage_class - alias of *note werkzeug.datastructures.ImmutableMultiDict: a7. + alias of *note werkzeug.datastructures.ImmutableMultiDict: a8. -- Attribute: path - The path part of the URL after *note root_path: e3. This is + The path part of the URL after *note root_path: e5. This is the path used for routing within the application. - -- Property: pragma: *note werkzeug.datastructures.HeaderSet: e5. + -- Property: pragma: *note werkzeug.datastructures.HeaderSet: e7. The Pragma general-header field is used to include implementation-specific directives that might apply to any @@ -3792,17 +3782,17 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o -- Attribute: query_string The part of the URL after the “?”. This is the raw value, use - *note args: a6. for the parsed values. + *note args: a7. for the parsed values. -- Property: range: Optional[*note werkzeug.datastructures.Range: - e8.] + ea.] The parsed ‘Range’ header. New in version 0.7. - Return type: *note Range: e8. + Return type: *note Range: ea. -- Attribute: referrer @@ -3824,9 +3814,9 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o -- Attribute: root_path The prefix that the application is mounted under, without a - trailing slash. *note path: e2. comes after this. + trailing slash. *note path: e4. comes after this. - -- Property: root_url: str(45) + -- Property: root_url: str(46) The request URL scheme, host, and root path. This is the root that the application is accessed from. @@ -3836,7 +3826,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o The URL scheme of the protocol the request used, such as ‘https’ or ‘wss’. - -- Property: script_root: str(46) + -- Property: script_root: str(47) Alias for ‘self.root_path’. ‘environ["SCRIPT_ROOT"]’ without a trailing slash. @@ -3846,21 +3836,21 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o The address of the server. ‘(host, port)’, ‘(path, None)’ for unix sockets, or ‘None’ if not known. - -- Attribute: shallow: bool(47) + -- Attribute: shallow: bool(48) Set when creating the request object. If ‘True’, reading from the request body will cause a ‘RuntimeException’. Useful to prevent modifying the stream from middleware. - -- Property: stream: IO[bytes(48)] + -- Property: stream: IO[bytes(49)] If the incoming form data was not encoded with a known mimetype the data is stored unmodified in this stream for consumption. Most of the time it is a better idea to use - *note data: b4. which will give you that data as a string. + *note data: b5. which will give you that data as a string. The stream only returns the data once. - Unlike *note input_stream: ce. this stream is properly guarded + Unlike *note input_stream: d0. this stream is properly guarded that you can’t accidentally read past the length of the input. Werkzeug will internally always refer to this stream to read data which makes it possible to wrap this object with a stream @@ -3870,28 +3860,28 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o but might be consumed by the form parser later on. Previously the stream was only set if no parsing happened. - -- Property: url: str(49) + -- Property: url: str(50) The full request URL with the scheme, host, root path, path, and query string. - -- Property: url_charset: str(50) + -- Property: url_charset: str(51) The charset that is assumed for URLs. Defaults to the value of ‘charset’. New in version 0.6. - -- Property: url_root: str(51) + -- Property: url_root: str(52) - Alias for *note root_url: ec. The URL with scheme, host, and + Alias for *note root_url: ee. The URL with scheme, host, and root path. For example, ‘https://example.com/app/’. - -- Property: user_agent: *note werkzeug.user_agent.UserAgent: f4. + -- Property: user_agent: *note werkzeug.user_agent.UserAgent: f6. The user agent. Use ‘user_agent.string’ to get the header - value. Set *note user_agent_class: f5. to a subclass of *note - UserAgent: f4. to provide parsing for the other properties or + value. Set *note user_agent_class: f7. to a subclass of *note + UserAgent: f6. to provide parsing for the other properties or other extended data. Changed in version 2.0: The built in parser is deprecated and @@ -3900,19 +3890,19 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o -- Attribute: user_agent_class - alias of *note werkzeug.user_agent.UserAgent: f4. + alias of ‘werkzeug.useragents._UserAgent’ - -- Property: values: CombinedMultiDict[str(52), str(53)] + -- Property: values: CombinedMultiDict[str(53), str(54)] - A *note werkzeug.datastructures.CombinedMultiDict: f7. that - combines *note args: a6. and *note form: bb. + A *note werkzeug.datastructures.CombinedMultiDict: f9. that + combines *note args: a7. and *note form: bd. For GET requests, only ‘args’ are present, not ‘form’. Changed in version 2.0: For GET requests, only ‘args’ are present, not ‘form’. - -- Property: want_form_data_parsed: bool(54) + -- Property: want_form_data_parsed: bool(55) ‘True’ if the request method carries content. By default this is true if a ‘Content-Type’ is sent. @@ -3933,10 +3923,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o streaming response. A generator is particularly useful for building a CSV file in memory or using SSE (Server Sent Events). A file-like object is also iterable, although the *note send_file(): - f9. helper should be used in that case. + fb. helper should be used in that case. The response object is itself a WSGI application callable. When - called (*note __call__(): fa.) with ‘environ’ and ‘start_response’, + called (*note __call__(): fc.) with ‘environ’ and ‘start_response’, it will pass its status and headers to ‘start_response’ then return its body as an iterable. @@ -3958,41 +3948,41 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘response’ (‘Union’‘[’‘Iterable’‘[’str(55)‘]’‘, - ’‘Iterable’‘[’bytes(56)‘]’‘]’) – The data for the body of the + * ‘response’ (‘Union’‘[’‘Iterable’‘[’str(56)‘]’‘, + ’‘Iterable’‘[’bytes(57)‘]’‘]’) – The data for the body of the response. A string or bytes, or tuple or list of strings or bytes, for a fixed-length response, or any other iterable of strings or bytes for a streaming response. Defaults to an empty body. - * ‘status’ (‘Optional’‘[’‘Union’‘[’int(57)‘, ’str(58)‘, - ’http.HTTPStatus(59)‘]’‘]’) – The status code for the + * ‘status’ (‘Optional’‘[’‘Union’‘[’int(58)‘, ’str(59)‘, + ’http.HTTPStatus(60)‘]’‘]’) – The status code for the response. Either an int, in which case the default status message is added, or a string in the form ‘{code} {message}’, like ‘404 Not Found’. Defaults to 200. - * ‘headers’ (*note werkzeug.datastructures.Headers: 70.) – A - *note Headers: 70. object, or a list of ‘(key, value)’ tuples + * ‘headers’ (*note werkzeug.datastructures.Headers: 71.) – A + *note Headers: 71. object, or a list of ‘(key, value)’ tuples that will be converted to a ‘Headers’ object. - * ‘mimetype’ (‘Optional’‘[’str(60)‘]’) – The mime type (content + * ‘mimetype’ (‘Optional’‘[’str(61)‘]’) – The mime type (content type without charset or other parameters) of the response. If the value starts with ‘text/’ (or matches some other special cases), the charset will be added to create the ‘content_type’. - * ‘content_type’ (‘Optional’‘[’str(61)‘]’) – The full content + * ‘content_type’ (‘Optional’‘[’str(62)‘]’) – The full content type of the response. Overrides building the value from ‘mimetype’. - * ‘direct_passthrough’ (bool(62)) – Pass the response body + * ‘direct_passthrough’ (bool(63)) – Pass the response body directly through as the WSGI iterable. This can be used when the body is a binary file or other iterator of bytes, to skip - some unnecessary checks. Use *note send_file(): f9. instead + some unnecessary checks. Use *note send_file(): fb. instead of setting this manually. - Return type: None(63) + Return type: None(64) Changed in version 2.0: Combine ‘BaseResponse’ and mixins into a single ‘Response’ class. Using the old classes is deprecated and @@ -4017,7 +4007,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Returns: an application iterator - Return type: Iterable[bytes(64)] + Return type: Iterable[bytes(65)] -- Method: _ensure_sequence (mutable=False) @@ -4028,10 +4018,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.6. - Parameters: ‘mutable’ (bool(65)) – + Parameters: ‘mutable’ (bool(66)) – - Return type: None(66) + Return type: None(67) -- Attribute: accept_ranges @@ -4043,7 +4033,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.7. - -- Property: access_control_allow_credentials: bool(67) + -- Property: access_control_allow_credentials: bool(68) Whether credentials can be shared by the browser to JavaScript code. As part of the preflight request it indicates whether @@ -4081,12 +4071,12 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘overwrite’ (bool(68)) – + * ‘overwrite’ (bool(69)) – - * ‘weak’ (bool(69)) – + * ‘weak’ (bool(70)) – - Return type: None(70) + Return type: None(71) -- Attribute: age @@ -4097,7 +4087,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Age values are non-negative decimal integers, representing time in seconds. - -- Property: allow: *note werkzeug.datastructures.HeaderSet: e5. + -- Property: allow: *note werkzeug.datastructures.HeaderSet: e7. The Allow entity-header field lists the set of methods supported by the resource identified by the Request-URI. The @@ -4120,7 +4110,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.8. -- Property: cache_control: *note - werkzeug.datastructures.ResponseCacheControl: 109. + werkzeug.datastructures.ResponseCacheControl: 10b. The Cache-Control general-header field is used to specify directives that MUST be obeyed by all caching mechanisms along @@ -4131,7 +4121,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Returns the content length if available or ‘None’ otherwise. - Return type: Optional[int(71)] + Return type: Optional[int(72)] -- Method: call_on_close (func) @@ -4156,7 +4146,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.9: Can now be used in a with statement. - Return type: None(72) + Return type: None(73) -- Attribute: content_encoding @@ -4168,7 +4158,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Content-Type header field. -- Property: content_language: *note - werkzeug.datastructures.HeaderSet: e5. + werkzeug.datastructures.HeaderSet: e7. The Content-Language entity-header field describes the natural language(s) of the intended audience for the enclosed entity. @@ -4200,9 +4190,9 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o against malicious attacks.) -- Property: content_range: *note - werkzeug.datastructures.ContentRange: 113. + werkzeug.datastructures.ContentRange: 115. - The ‘Content-Range’ header as a *note ContentRange: 113. + The ‘Content-Range’ header as a *note ContentRange: 115. object. Available even if the header is not set. New in version 0.7. @@ -4247,10 +4237,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o cross-origin documents. Values must be a member of the ‘werkzeug.http.COOP’ enum. - -- Property: data: Union[bytes(73), str(74)] + -- Property: data: Union[bytes(74), str(75)] - A descriptor that calls *note get_data(): 11a. and *note - set_data(): 11b. + A descriptor that calls *note get_data(): 11c. and *note + set_data(): 11d. -- Attribute: date @@ -4268,35 +4258,35 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘key’ (str(75)) – the key (name) of the cookie to be + * ‘key’ (str(76)) – the key (name) of the cookie to be deleted. - * ‘path’ (str(76)) – if the cookie that should be deleted + * ‘path’ (str(77)) – if the cookie that should be deleted was limited to a path, the path has to be defined here. - * ‘domain’ (‘Optional’‘[’str(77)‘]’) – if the cookie that + * ‘domain’ (‘Optional’‘[’str(78)‘]’) – if the cookie that should be deleted was limited to a domain, that domain has to be defined here. - * ‘secure’ (bool(78)) – If ‘True’, the cookie will only be + * ‘secure’ (bool(79)) – If ‘True’, the cookie will only be available via HTTPS. - * ‘httponly’ (bool(79)) – Disallow JavaScript access to the + * ‘httponly’ (bool(80)) – Disallow JavaScript access to the cookie. - * ‘samesite’ (‘Optional’‘[’str(80)‘]’) – Limit the scope of + * ‘samesite’ (‘Optional’‘[’str(81)‘]’) – Limit the scope of the cookie to only be attached to requests that are “same-site”. - Return type: None(81) + Return type: None(82) -- Attribute: direct_passthrough Pass the response body directly through as the WSGI iterable. This can be used when the body is a binary file or other iterator of bytes, to skip some unnecessary checks. Use *note - send_file(): f9. instead of setting this manually. + send_file(): fb. instead of setting this manually. -- Attribute: expires @@ -4309,10 +4299,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o -- Method: classmethod force_type (response, environ=None) Enforce that the WSGI response is a response object of the - current type. Werkzeug will use the *note Response: 5e. + current type. Werkzeug will use the *note Response: 5f. internally in many situations like the exceptions. If you call ‘get_response()’ on an exception you will get back a - regular *note Response: 5e. object, even if you are using a + regular *note Response: 5f. object, even if you are using a custom subclass. This method can enforce a given response type, and it will @@ -4336,7 +4326,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘response’ (*note Response: 5e.) – a response object or + * ‘response’ (*note Response: 5f.) – a response object or wsgi application. * ‘environ’ (‘Optional’‘[’‘WSGIEnvironment’‘]’) – a WSGI @@ -4346,23 +4336,21 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Returns: a response object. - Return type: *note Response: 5e. + Return type: *note Response: 5f. - -- Method: freeze () + -- Method: freeze (no_etag=None) Make the response object ready to be pickled. Does the following: * Buffer the response into a list, ignoring ‘implicity_sequence_conversion’ and *note - direct_passthrough: 11e. + direct_passthrough: 120. * Set the ‘Content-Length’ header. * Generate an ‘ETag’ header if one is not already set. - Changed in version 2.1: Removed the ‘no_etag’ parameter. - Changed in version 2.0: An ‘ETag’ header is added, the ‘no_etag’ parameter is deprecated and will be removed in Werkzeug 2.1. @@ -4370,7 +4358,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Changed in version 0.6: The ‘Content-Length’ header is set. - Return type: None(82) + Parameters: ‘no_etag’ (None(83)) – + + + Return type: None(84) -- Method: classmethod from_app (app, environ, buffered=False) @@ -4391,14 +4382,14 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o * ‘environ’ (‘WSGIEnvironment’) – the WSGI environment to execute against. - * ‘buffered’ (bool(83)) – set to ‘True’ to enforce + * ‘buffered’ (bool(85)) – set to ‘True’ to enforce buffering. Returns: a response object. - Return type: *note Response: 5e. + Return type: *note Response: 5f. -- Method: get_app_iter (environ) @@ -4421,7 +4412,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Returns: a response iterable. - Return type: Iterable[bytes(84)] + Return type: Iterable[bytes(86)] -- Method: get_data (as_text=False) @@ -4431,7 +4422,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o big data. This behavior can be disabled by setting *note - implicit_sequence_conversion: 124. to ‘False’. + implicit_sequence_conversion: 126. to ‘False’. If ‘as_text’ is set to ‘True’ the return value will be a decoded string. @@ -4439,10 +4430,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.9. - Parameters: ‘as_text’ (bool(85)) – + Parameters: ‘as_text’ (bool(87)) – - Return type: Union[bytes(86), str(87)] + Return type: Union[bytes(88), str(89)] -- Method: get_etag () @@ -4450,25 +4441,25 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o ETag the return value is ‘(None, None)’. - Return type: Union[Tuple[str(88), bool(89)], Tuple[None(90), - None(91)]] + Return type: Union[Tuple[str(90), bool(91)], Tuple[None(92), + None(93)]] -- Method: get_json (force=False, silent=False) - Parse *note data: 119. as JSON. Useful during testing. + Parse *note data: 11b. as JSON. Useful during testing. If the mimetype does not indicate JSON (‘application/json’, - see *note is_json: 127.), this returns ‘None’. + see *note is_json: 129.), this returns ‘None’. - Unlike *note Request.get_json(): c1, the result is not cached. + Unlike *note Request.get_json(): c3, the result is not cached. Parameters: - * ‘force’ (bool(92)) – Ignore the mimetype and always try + * ‘force’ (bool(94)) – Ignore the mimetype and always try to parse JSON. - * ‘silent’ (bool(93)) – Silence parsing errors and return + * ‘silent’ (bool(95)) – Silence parsing errors and return ‘None’ instead. @@ -4500,10 +4491,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o environment of the request. - Returns: returns a new *note Headers: 70. object. + Returns: returns a new *note Headers: 71. object. - Return type: *note werkzeug.datastructures.Headers: 70. + Return type: *note werkzeug.datastructures.Headers: 71. -- Method: get_wsgi_response (environ) @@ -4525,8 +4516,8 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Returns: an ‘(app_iter, status, headers)’ tuple. - Return type: Tuple[Iterable[bytes(94)], str(95), - List[Tuple[str(96), str(97)]]] + Return type: Tuple[Iterable[bytes(96)], str(97), + List[Tuple[str(98), str(99)]]] -- Attribute: implicit_sequence_conversion = True @@ -4539,12 +4530,12 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o use this feature, you have to adapt your code to the name change. - -- Property: is_json: bool(98) + -- Property: is_json: bool(100) Check if the mimetype indicates JSON data, either ‘application/json’ or ‘application/*+json’. - -- Property: is_sequence: bool(99) + -- Property: is_sequence: bool(101) If the iterator is buffered, this property will be ‘True’. A response object will consider an iterator to be buffered if @@ -4552,7 +4543,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.6. - -- Property: is_streamed: bool(100) + -- Property: is_streamed: bool(102) If the response is streamed (the response is not an iterable with a length information) this property is ‘True’. In this @@ -4568,23 +4559,23 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Iter the response encoded with the encoding of the response. If the response object is invoked as WSGI application the return value of this method is used as application iterator - unless *note direct_passthrough: 11e. was activated. + unless *note direct_passthrough: 120. was activated. - Return type: Iterator[bytes(101)] + Return type: Iterator[bytes(103)] -- Property: json: Optional[Any] - The parsed JSON data if *note mimetype: 12e. indicates JSON - (‘application/json’, see *note is_json: 127.). + The parsed JSON data if *note mimetype: 130. indicates JSON + (‘application/json’, see *note is_json: 129.). - Calls *note get_json(): 126. with default arguments. + Calls *note get_json(): 128. with default arguments. -- Attribute: json_module = A module or other object that has ‘dumps’ and ‘loads’ - functions that match the API of the built-in json(102) module. + functions that match the API of the built-in json(104) module. -- Attribute: last_modified @@ -4614,11 +4605,11 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o For optimal performance when handling range requests, it’s recommended that your response data object implements ‘seekable’, ‘seek’ and ‘tell’ methods as described by - io.IOBase(103). Objects returned by *note wrap_file(): 133. + io.IOBase(105). Objects returned by *note wrap_file(): 135. automatically implement those methods. It does not remove the body of the response because that’s - something the *note __call__(): fa. function does for us + something the *note __call__(): fc. function does for us automatically. Returns self so that you can do ‘return @@ -4627,30 +4618,29 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘request_or_environ’ (‘Union’‘[’‘WSGIEnvironment’‘, - ’*note Request: 71.‘]’) – a request object or WSGI - environment to be used to make the response conditional - against. + * ‘request_or_environ’ (‘WSGIEnvironment’) – a request + object or WSGI environment to be used to make the + response conditional against. - * ‘accept_ranges’ (‘Union’‘[’bool(104)‘, ’str(105)‘]’) – + * ‘accept_ranges’ (‘Union’‘[’bool(106)‘, ’str(107)‘]’) – This parameter dictates the value of ‘Accept-Ranges’ header. If ‘False’ (default), the header is not set. If ‘True’, it will be set to ‘"bytes"’. If ‘None’, it will be set to ‘"none"’. If it’s a string, it will use this value. - * ‘complete_length’ (‘Optional’‘[’int(106)‘]’) – Will be + * ‘complete_length’ (‘Optional’‘[’int(108)‘]’) – Will be used only in valid Range Requests. It will set ‘Content-Range’ complete length value and compute ‘Content-Length’ real value. This parameter is mandatory for successful Range Requests completion. - Raises: *note RequestedRangeNotSatisfiable: 134. if ‘Range’ + Raises: *note RequestedRangeNotSatisfiable: 136. if ‘Range’ header could not be parsed or satisfied. - Return type: *note Response: 5e. + Return type: *note Response: 5f. Changed in version 2.0: Range processing is skipped if length is 0 instead of raising a 416 Range Not Satisfiable error. @@ -4666,13 +4656,13 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.6. - Return type: None(107) + Return type: None(109) - -- Property: mimetype: Optional[str(108)] + -- Property: mimetype: Optional[str(110)] The mimetype (content type without charset etc.) - -- Property: mimetype_params: Dict[str(109), str(110)] + -- Property: mimetype_params: Dict[str(111), str(112)] The mimetype parameters as dict. For example if the content type is ‘text/html; charset=utf-8’ the params would be @@ -4680,8 +4670,8 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.5. - -- Attribute: response: Union[Iterable[str(111)], - Iterable[bytes(112)]] + -- Attribute: response: Union[Iterable[str(113)], + Iterable[bytes(114)]] The response body to send as the WSGI iterable. A list of strings or bytes represents a fixed-length response, any other @@ -4692,7 +4682,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o the response to be very inefficient as it will iterate one byte at a time. - -- Property: retry_after: Optional[datetime.datetime(113)] + -- Property: retry_after: Optional[datetime.datetime(115)] The Retry-After response-header field can be used with a 503 (Service Unavailable) response to indicate how long the @@ -4715,43 +4705,43 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘key’ (str(114)) – the key (name) of the cookie to be + * ‘key’ (str(116)) – the key (name) of the cookie to be set. - * ‘value’ (str(115)) – the value of the cookie. + * ‘value’ (str(117)) – the value of the cookie. * ‘max_age’ - (‘Optional’‘[’‘Union’‘[’datetime.timedelta(116)‘, - ’int(117)‘]’‘]’) – should be a number of seconds, or + (‘Optional’‘[’‘Union’‘[’datetime.timedelta(118)‘, + ’int(119)‘]’‘]’) – should be a number of seconds, or ‘None’ (default) if the cookie should last only as long as the client’s browser session. - * ‘expires’ (‘Optional’‘[’‘Union’‘[’str(118)‘, - ’datetime.datetime(119)‘, ’int(120)‘, ’float(121)‘]’‘]’) + * ‘expires’ (‘Optional’‘[’‘Union’‘[’str(120)‘, + ’datetime.datetime(121)‘, ’int(122)‘, ’float(123)‘]’‘]’) – should be a ‘datetime’ object or UNIX timestamp. - * ‘path’ (‘Optional’‘[’str(122)‘]’) – limits the cookie to + * ‘path’ (‘Optional’‘[’str(124)‘]’) – limits the cookie to a given path, per default it will span the whole domain. - * ‘domain’ (‘Optional’‘[’str(123)‘]’) – if you want to set + * ‘domain’ (‘Optional’‘[’str(125)‘]’) – if you want to set a cross-domain cookie. For example, ‘domain=".example.com"’ will set a cookie that is readable by the domain ‘www.example.com’, ‘foo.example.com’ etc. Otherwise, a cookie will only be readable by the domain that set it. - * ‘secure’ (bool(124)) – If ‘True’, the cookie will only be + * ‘secure’ (bool(126)) – If ‘True’, the cookie will only be available via HTTPS. - * ‘httponly’ (bool(125)) – Disallow JavaScript access to + * ‘httponly’ (bool(127)) – Disallow JavaScript access to the cookie. - * ‘samesite’ (‘Optional’‘[’str(126)‘]’) – Limit the scope + * ‘samesite’ (‘Optional’‘[’str(128)‘]’) – Limit the scope of the cookie to only be attached to requests that are “same-site”. - Return type: None(127) + Return type: None(129) -- Method: set_data (value) @@ -4762,10 +4752,10 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o New in version 0.9. - Parameters: ‘value’ (‘Union’‘[’bytes(128)‘, ’str(129)‘]’) – + Parameters: ‘value’ (‘Union’‘[’bytes(130)‘, ’str(131)‘]’) – - Return type: None(130) + Return type: None(132) -- Method: set_etag (etag, weak=False) @@ -4774,18 +4764,18 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o Parameters: - * ‘etag’ (str(131)) – + * ‘etag’ (str(133)) – - * ‘weak’ (bool(132)) – + * ‘weak’ (bool(134)) – - Return type: None(133) + Return type: None(135) - -- Property: status: str(134) + -- Property: status: str(136) The HTTP status code as a string. - -- Property: status_code: int(135) + -- Property: status_code: int(137) The HTTP status code as a number. @@ -4793,7 +4783,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o The response iterable as write-only stream. - -- Property: vary: *note werkzeug.datastructures.HeaderSet: e5. + -- Property: vary: *note werkzeug.datastructures.HeaderSet: e7. The Vary field value indicates the set of request-header fields that fully determines, while the response is fresh, @@ -4801,7 +4791,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o subsequent request without revalidation. -- Property: www_authenticate: *note - werkzeug.datastructures.WWWAuthenticate: 140. + werkzeug.datastructures.WWWAuthenticate: 142. The ‘WWW-Authenticate’ header in a parsed form. @@ -4845,7 +4835,7 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o (19) https://docs.python.org/3/library/stdtypes.html#bytes - (20) https://docs.python.org/3/library/stdtypes.html#str + (20) https://docs.python.org/3/library/functions.html#bool (21) https://docs.python.org/3/library/stdtypes.html#str @@ -4853,59 +4843,59 @@ File: werkzeug.info, Node: Wrapper Classes, Prev: Mutability and Reusability o (23) https://docs.python.org/3/library/stdtypes.html#str - (24) https://docs.python.org/3/library/functions.html#bool + (24) https://docs.python.org/3/library/stdtypes.html#str (25) https://docs.python.org/3/library/functions.html#bool (26) https://docs.python.org/3/library/functions.html#bool - (27) https://docs.python.org/3/library/stdtypes.html#bytes + (27) https://docs.python.org/3/library/functions.html#bool - (28) https://docs.python.org/3/library/stdtypes.html#str + (28) https://docs.python.org/3/library/stdtypes.html#bytes - (29) https://docs.python.org/3/library/functions.html#bool + (29) https://docs.python.org/3/library/stdtypes.html#str (30) https://docs.python.org/3/library/functions.html#bool (31) https://docs.python.org/3/library/functions.html#bool - (32) https://docs.python.org/3/library/stdtypes.html#str + (32) https://docs.python.org/3/library/functions.html#bool (33) https://docs.python.org/3/library/stdtypes.html#str - (34) -https://docs.python.org/3/library/datetime.html#datetime.datetime + (34) https://docs.python.org/3/library/stdtypes.html#str (35) https://docs.python.org/3/library/datetime.html#datetime.datetime - (36) https://docs.python.org/3/library/functions.html#bool + (36) +https://docs.python.org/3/library/datetime.html#datetime.datetime (37) https://docs.python.org/3/library/functions.html#bool - (38) https://docs.python.org/3/library/json.html#module-json + (38) https://docs.python.org/3/library/functions.html#bool - (39) https://docs.python.org/3/library/functions.html#int + (39) https://docs.python.org/3/library/json.html#module-json (40) https://docs.python.org/3/library/functions.html#int - (41) https://docs.python.org/3/library/stdtypes.html#str + (41) https://docs.python.org/3/library/functions.html#int (42) https://docs.python.org/3/library/stdtypes.html#str (43) https://docs.python.org/3/library/stdtypes.html#str - (44) https://docs.python.org/3/library/exceptions.html#ValueError + (44) https://docs.python.org/3/library/stdtypes.html#str - (45) https://docs.python.org/3/library/stdtypes.html#str + (45) https://docs.python.org/3/library/exceptions.html#ValueError (46) https://docs.python.org/3/library/stdtypes.html#str - (47) https://docs.python.org/3/library/functions.html#bool + (47) https://docs.python.org/3/library/stdtypes.html#str - (48) https://docs.python.org/3/library/stdtypes.html#bytes + (48) https://docs.python.org/3/library/functions.html#bool - (49) https://docs.python.org/3/library/stdtypes.html#str + (49) https://docs.python.org/3/library/stdtypes.html#bytes (50) https://docs.python.org/3/library/stdtypes.html#str @@ -4915,47 +4905,47 @@ https://docs.python.org/3/library/datetime.html#datetime.datetime (53) https://docs.python.org/3/library/stdtypes.html#str - (54) https://docs.python.org/3/library/functions.html#bool + (54) https://docs.python.org/3/library/stdtypes.html#str - (55) https://docs.python.org/3/library/stdtypes.html#str + (55) https://docs.python.org/3/library/functions.html#bool - (56) https://docs.python.org/3/library/stdtypes.html#bytes + (56) https://docs.python.org/3/library/stdtypes.html#str - (57) https://docs.python.org/3/library/functions.html#int + (57) https://docs.python.org/3/library/stdtypes.html#bytes - (58) https://docs.python.org/3/library/stdtypes.html#str + (58) https://docs.python.org/3/library/functions.html#int - (59) https://docs.python.org/3/library/http.html#http.HTTPStatus + (59) https://docs.python.org/3/library/stdtypes.html#str - (60) https://docs.python.org/3/library/stdtypes.html#str + (60) https://docs.python.org/3/library/http.html#http.HTTPStatus (61) https://docs.python.org/3/library/stdtypes.html#str - (62) https://docs.python.org/3/library/functions.html#bool + (62) https://docs.python.org/3/library/stdtypes.html#str - (63) https://docs.python.org/3/library/constants.html#None + (63) https://docs.python.org/3/library/functions.html#bool - (64) https://docs.python.org/3/library/stdtypes.html#bytes + (64) https://docs.python.org/3/library/constants.html#None - (65) https://docs.python.org/3/library/functions.html#bool + (65) https://docs.python.org/3/library/stdtypes.html#bytes - (66) https://docs.python.org/3/library/constants.html#None + (66) https://docs.python.org/3/library/functions.html#bool - (67) https://docs.python.org/3/library/functions.html#bool + (67) https://docs.python.org/3/library/constants.html#None (68) https://docs.python.org/3/library/functions.html#bool (69) https://docs.python.org/3/library/functions.html#bool - (70) https://docs.python.org/3/library/constants.html#None + (70) https://docs.python.org/3/library/functions.html#bool - (71) https://docs.python.org/3/library/functions.html#int + (71) https://docs.python.org/3/library/constants.html#None - (72) https://docs.python.org/3/library/constants.html#None + (72) https://docs.python.org/3/library/functions.html#int - (73) https://docs.python.org/3/library/stdtypes.html#bytes + (73) https://docs.python.org/3/library/constants.html#None - (74) https://docs.python.org/3/library/stdtypes.html#str + (74) https://docs.python.org/3/library/stdtypes.html#bytes (75) https://docs.python.org/3/library/stdtypes.html#str @@ -4963,124 +4953,128 @@ https://docs.python.org/3/library/datetime.html#datetime.datetime (77) https://docs.python.org/3/library/stdtypes.html#str - (78) https://docs.python.org/3/library/functions.html#bool + (78) https://docs.python.org/3/library/stdtypes.html#str (79) https://docs.python.org/3/library/functions.html#bool - (80) https://docs.python.org/3/library/stdtypes.html#str + (80) https://docs.python.org/3/library/functions.html#bool - (81) https://docs.python.org/3/library/constants.html#None + (81) https://docs.python.org/3/library/stdtypes.html#str (82) https://docs.python.org/3/library/constants.html#None - (83) https://docs.python.org/3/library/functions.html#bool + (83) https://docs.python.org/3/library/constants.html#None - (84) https://docs.python.org/3/library/stdtypes.html#bytes + (84) https://docs.python.org/3/library/constants.html#None (85) https://docs.python.org/3/library/functions.html#bool (86) https://docs.python.org/3/library/stdtypes.html#bytes - (87) https://docs.python.org/3/library/stdtypes.html#str + (87) https://docs.python.org/3/library/functions.html#bool - (88) https://docs.python.org/3/library/stdtypes.html#str + (88) https://docs.python.org/3/library/stdtypes.html#bytes - (89) https://docs.python.org/3/library/functions.html#bool + (89) https://docs.python.org/3/library/stdtypes.html#str - (90) https://docs.python.org/3/library/constants.html#None + (90) https://docs.python.org/3/library/stdtypes.html#str - (91) https://docs.python.org/3/library/constants.html#None + (91) https://docs.python.org/3/library/functions.html#bool - (92) https://docs.python.org/3/library/functions.html#bool + (92) https://docs.python.org/3/library/constants.html#None - (93) https://docs.python.org/3/library/functions.html#bool + (93) https://docs.python.org/3/library/constants.html#None - (94) https://docs.python.org/3/library/stdtypes.html#bytes + (94) https://docs.python.org/3/library/functions.html#bool - (95) https://docs.python.org/3/library/stdtypes.html#str + (95) https://docs.python.org/3/library/functions.html#bool - (96) https://docs.python.org/3/library/stdtypes.html#str + (96) https://docs.python.org/3/library/stdtypes.html#bytes (97) https://docs.python.org/3/library/stdtypes.html#str - (98) https://docs.python.org/3/library/functions.html#bool + (98) https://docs.python.org/3/library/stdtypes.html#str - (99) https://docs.python.org/3/library/functions.html#bool + (99) https://docs.python.org/3/library/stdtypes.html#str (100) https://docs.python.org/3/library/functions.html#bool - (101) https://docs.python.org/3/library/stdtypes.html#bytes + (101) https://docs.python.org/3/library/functions.html#bool - (102) https://docs.python.org/3/library/json.html#module-json + (102) https://docs.python.org/3/library/functions.html#bool - (103) https://docs.python.org/3/library/io.html#io.IOBase + (103) https://docs.python.org/3/library/stdtypes.html#bytes - (104) https://docs.python.org/3/library/functions.html#bool + (104) https://docs.python.org/3/library/json.html#module-json - (105) https://docs.python.org/3/library/stdtypes.html#str + (105) https://docs.python.org/3/library/io.html#io.IOBase - (106) https://docs.python.org/3/library/functions.html#int + (106) https://docs.python.org/3/library/functions.html#bool - (107) https://docs.python.org/3/library/constants.html#None + (107) https://docs.python.org/3/library/stdtypes.html#str - (108) https://docs.python.org/3/library/stdtypes.html#str + (108) https://docs.python.org/3/library/functions.html#int - (109) https://docs.python.org/3/library/stdtypes.html#str + (109) https://docs.python.org/3/library/constants.html#None (110) https://docs.python.org/3/library/stdtypes.html#str (111) https://docs.python.org/3/library/stdtypes.html#str - (112) https://docs.python.org/3/library/stdtypes.html#bytes + (112) https://docs.python.org/3/library/stdtypes.html#str - (113) + (113) https://docs.python.org/3/library/stdtypes.html#str + + (114) https://docs.python.org/3/library/stdtypes.html#bytes + + (115) https://docs.python.org/3/library/datetime.html#datetime.datetime - (114) https://docs.python.org/3/library/stdtypes.html#str + (116) https://docs.python.org/3/library/stdtypes.html#str - (115) https://docs.python.org/3/library/stdtypes.html#str + (117) https://docs.python.org/3/library/stdtypes.html#str - (116) + (118) https://docs.python.org/3/library/datetime.html#datetime.timedelta - (117) https://docs.python.org/3/library/functions.html#int + (119) https://docs.python.org/3/library/functions.html#int - (118) https://docs.python.org/3/library/stdtypes.html#str + (120) https://docs.python.org/3/library/stdtypes.html#str - (119) + (121) https://docs.python.org/3/library/datetime.html#datetime.datetime - (120) https://docs.python.org/3/library/functions.html#int + (122) https://docs.python.org/3/library/functions.html#int - (121) https://docs.python.org/3/library/functions.html#float + (123) https://docs.python.org/3/library/functions.html#float - (122) https://docs.python.org/3/library/stdtypes.html#str + (124) https://docs.python.org/3/library/stdtypes.html#str - (123) https://docs.python.org/3/library/stdtypes.html#str + (125) https://docs.python.org/3/library/stdtypes.html#str - (124) https://docs.python.org/3/library/functions.html#bool + (126) https://docs.python.org/3/library/functions.html#bool - (125) https://docs.python.org/3/library/functions.html#bool + (127) https://docs.python.org/3/library/functions.html#bool - (126) https://docs.python.org/3/library/stdtypes.html#str + (128) https://docs.python.org/3/library/stdtypes.html#str - (127) https://docs.python.org/3/library/constants.html#None + (129) https://docs.python.org/3/library/constants.html#None - (128) https://docs.python.org/3/library/stdtypes.html#bytes - - (129) https://docs.python.org/3/library/stdtypes.html#str - - (130) https://docs.python.org/3/library/constants.html#None + (130) https://docs.python.org/3/library/stdtypes.html#bytes (131) https://docs.python.org/3/library/stdtypes.html#str - (132) https://docs.python.org/3/library/functions.html#bool + (132) https://docs.python.org/3/library/constants.html#None - (133) https://docs.python.org/3/library/constants.html#None + (133) https://docs.python.org/3/library/stdtypes.html#str - (134) https://docs.python.org/3/library/stdtypes.html#str + (134) https://docs.python.org/3/library/functions.html#bool - (135) https://docs.python.org/3/library/functions.html#int + (135) https://docs.python.org/3/library/constants.html#None + + (136) https://docs.python.org/3/library/stdtypes.html#str + + (137) https://docs.python.org/3/library/functions.html#int  File: werkzeug.info, Node: URL Routing, Next: WSGI Helpers, Prev: Request / Response Objects, Up: Reference @@ -5095,7 +5089,7 @@ registered callback functions that return the value. Werkzeug provides a much more powerful system, similar to Routes(1). All the objects mentioned on this page must be imported from *note -werkzeug.routing: d, not from ‘werkzeug’! +werkzeug.routing: e, not from ‘werkzeug’! * Menu: @@ -5144,11 +5138,11 @@ Here is a simple example which could be the URL definition for a blog: start_response('200 OK', [('Content-Type', 'text/plain')]) return [f'Rule points to {endpoint!r} with arguments {args!r}'] -So what does that do? First of all we create a new *note Map: 2f. which -stores a bunch of URL rules. Then we pass it a list of *note Rule: 30. +So what does that do? First of all we create a new *note Map: 30. which +stores a bunch of URL rules. Then we pass it a list of *note Rule: 31. objects. -Each *note Rule: 30. object is instantiated with a string that +Each *note Rule: 31. object is instantiated with a string that represents a rule and an endpoint which will be the alias for what view the rule represents. Multiple rules can have the same endpoint, but should have different arguments to allow URL construction. @@ -5157,14 +5151,14 @@ The format for the URL rules is straightforward, but explained in detail below. Inside the WSGI application we bind the url_map to the current request -which will return a new *note MapAdapter: 144. This url_map adapter can +which will return a new *note MapAdapter: 146. This url_map adapter can then be used to match or build domains for the current request. -The *note MapAdapter.match(): 145. method can then either return a tuple +The *note MapAdapter.match(): 147. method can then either return a tuple in the form ‘(endpoint, args)’ or raise one of the three exceptions -*note NotFound: 31, *note MethodNotAllowed: 146, or ‘RequestRedirect’. +*note NotFound: 32, *note MethodNotAllowed: 148, or ‘RequestRedirect’. For more details about those exceptions have a look at the documentation -of the *note MapAdapter.match(): 145. method. +of the *note MapAdapter.match(): 147. method.  File: werkzeug.info, Node: Rule Format, Next: Built-in Converters, Prev: Quickstart<3>, Up: URL Routing @@ -5186,8 +5180,8 @@ Many HTTP servers merge consecutive slashes into one when receiving requests. If ‘merge_slashes’ is enabled (the default), rules will merge slashes in non-variable parts when matching and building. Visiting a URL with consecutive slashes will redirect to the URL with slashes -merged. If you want to disable ‘merge_slashes’ for a *note Rule: 30. or -*note Map: 2f, you’ll also need to configure your web server +merged. If you want to disable ‘merge_slashes’ for a *note Rule: 31. or +*note Map: 30, you’ll also need to configure your web server appropriately.  @@ -5198,7 +5192,7 @@ File: werkzeug.info, Node: Built-in Converters, Next: Maps Rules and Adapters, Converters for common types of URL variables are built-in. The available converters can be overridden or extended through *note -Map.converters: 149. +Map.converters: 14b. -- Class: werkzeug.routing.UnicodeConverter (map, minlength=1, maxlength=None, length=None) @@ -5216,7 +5210,7 @@ Map.converters: 149. Parameters: - * ‘map’ (*note Map: 2f.) – the *note Map: 2f. + * ‘map’ (*note Map: 30.) – the *note Map: 30. * ‘minlength’ (int(1)) – the minimum length of the string. Must be greater or equal 1. @@ -5232,7 +5226,7 @@ Map.converters: 149. -- Class: werkzeug.routing.PathConverter (map, *args, **kwargs) - Like the default *note UnicodeConverter: 14a, but it also matches + Like the default *note UnicodeConverter: 14c, but it also matches slashes. This is useful for wikis and similar applications: Rule('/') @@ -5241,7 +5235,7 @@ Map.converters: 149. Parameters: - * ‘map’ (*note Map: 2f.) – the *note Map: 2f. + * ‘map’ (*note Map: 30.) – the *note Map: 30. * ‘args’ (‘Any’) – @@ -5260,7 +5254,7 @@ Map.converters: 149. Parameters: - * ‘map’ (*note Map: 2f.) – the *note Map: 2f. + * ‘map’ (*note Map: 30.) – the *note Map: 30. * ‘items’ (str(6)) – this function accepts the possible items as positional arguments. @@ -5283,7 +5277,7 @@ Map.converters: 149. Parameters: - * ‘map’ (*note Map: 2f.) – The *note Map: 2f. + * ‘map’ (*note Map: 30.) – The *note Map: 30. * ‘fixed_digits’ (int(8)) – The number of fixed digits in the URL. If you set this to ‘4’ for example, the rule will only @@ -5316,7 +5310,7 @@ Map.converters: 149. Parameters: - * ‘map’ (*note Map: 2f.) – The *note Map: 2f. + * ‘map’ (*note Map: 30.) – The *note Map: 30. * ‘min’ (‘Optional’‘[’float(13)‘]’) – The minimal value. @@ -5340,7 +5334,7 @@ Map.converters: 149. Parameters: - * ‘map’ (*note Map: 2f.) – the *note Map: 2f. + * ‘map’ (*note Map: 30.) – the *note Map: 30. * ‘args’ (‘Any’) – @@ -5407,7 +5401,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre Parameters: * ‘rules’ (‘Optional’‘[’‘Iterable’‘[’*note - werkzeug.routing.RuleFactory: 151.‘]’‘]’) – sequence of url + werkzeug.routing.RuleFactory: 153.‘]’‘]’) – sequence of url rules for this map. * ‘default_subdomain’ (str(1)) – The default subdomain for rules @@ -5476,7 +5470,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre Parameters: ‘rulefactory’ (*note werkzeug.routing.RuleFactory: - 151.) – a *note Rule: 30. or *note RuleFactory: 151. + 153.) – a *note Rule: 31. or *note RuleFactory: 153. Return type: None(11) @@ -5485,7 +5479,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre url_scheme='http', default_method='GET', path_info=None, query_args=None) - Return a new *note MapAdapter: 144. with the details specified + Return a new *note MapAdapter: 146. with the details specified to the call. Note that ‘script_name’ will default to ‘'/'’ if not further specified or ‘None’. The ‘server_name’ at least is a requirement because the HTTP RFC requires absolute URLs @@ -5531,12 +5525,12 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre ’str(19)‘]’‘]’) – - Return type: *note werkzeug.routing.MapAdapter: 144. + Return type: *note werkzeug.routing.MapAdapter: 146. -- Method: bind_to_environ (environ, server_name=None, subdomain=None) - Like *note bind(): 153. but you can pass it an WSGI + Like *note bind(): 155. but you can pass it an WSGI environment and it will fetch the information from that dictionary. Note that because of limitations in the protocol there is no way to get the current subdomain and real @@ -5555,7 +5549,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre If the object passed as environ has an environ attribute, the value of this attribute is used instead. This allows you to pass request objects. Additionally ‘PATH_INFO’ added as a - default of the *note MapAdapter: 144. so that you don’t have + default of the *note MapAdapter: 146. so that you don’t have to pass the path info to the match method. Changed in version 1.0.0: If the passed server name specifies @@ -5575,8 +5569,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre Parameters: - * ‘environ’ (‘Union’‘[’‘WSGIEnvironment’‘, ’*note Request: - 71.‘]’) – a WSGI environment. + * ‘environ’ (‘WSGIEnvironment’) – a WSGI environment. * ‘server_name’ (‘Optional’‘[’str(20)‘]’) – an optional server name hint (see above). @@ -5585,7 +5578,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre current subdomain (see above). - Return type: *note MapAdapter: 144. + Return type: *note MapAdapter: 146. -- Attribute: default_converters = {'any': , 'default': >> urls.build("index", {'q': ['a', 'b', 'c']}) '/?q=a&q=b&q=c' @@ -5961,7 +5954,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre Return type: Tuple[Union[str(64), *note werkzeug.routing.Rule: - 30.], Mapping[str(65), Any]] + 31.], Mapping[str(65), Any]] New in version 1.0: Added ‘websocket’. @@ -6034,7 +6027,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre Rule('/all/page/', endpoint='all_entries') ]) - If a user now visits ‘http://example.com/all/page/1’ they will + If a user now visits ‘http://example.com/all/page/1’ he will be redirected to ‘http://example.com/all/’. If ‘redirect_defaults’ is disabled on the ‘Map’ instance this will only affect the URL generation. @@ -6174,7 +6167,7 @@ File: werkzeug.info, Node: Maps Rules and Adapters, Next: Rule Factories, Pre arguments are provided to the new copy. - Return type: *note werkzeug.routing.Rule: 30. + Return type: *note werkzeug.routing.Rule: 31. ---------- Footnotes ---------- @@ -6361,10 +6354,10 @@ File: werkzeug.info, Node: Rule Factories, Next: Rule Templates, Prev: Maps R return an iterable of rules. - Parameters: ‘map’ (*note werkzeug.routing.Map: 2f.) – + Parameters: ‘map’ (*note werkzeug.routing.Map: 30.) – - Return type: Iterable[*note werkzeug.routing.Rule: 30.] + Return type: Iterable[*note werkzeug.routing.Rule: 31.] -- Class: werkzeug.routing.Subdomain (subdomain, rules) @@ -6391,7 +6384,7 @@ File: werkzeug.info, Node: Rule Factories, Next: Rule Templates, Prev: Maps R * ‘subdomain’ (str(1)) – * ‘rules’ (‘Iterable’‘[’*note werkzeug.routing.RuleFactory: - 151.‘]’) – + 153.‘]’) – Return type: None(2) @@ -6416,7 +6409,7 @@ File: werkzeug.info, Node: Rule Factories, Next: Rule Templates, Prev: Maps R * ‘path’ (str(3)) – * ‘rules’ (‘Iterable’‘[’*note werkzeug.routing.RuleFactory: - 151.‘]’) – + 153.‘]’) – Return type: None(4) @@ -6440,7 +6433,7 @@ File: werkzeug.info, Node: Rule Factories, Next: Rule Templates, Prev: Maps R * ‘prefix’ (str(5)) – * ‘rules’ (‘Iterable’‘[’*note werkzeug.routing.RuleFactory: - 151.‘]’) – + 153.‘]’) – Return type: None(6) @@ -6485,7 +6478,7 @@ File: werkzeug.info, Node: Rule Templates, Next: Custom Converters, Prev: Rul replace the placeholders in all the string parameters. - Parameters: ‘rules’ (‘Iterable’‘[’*note Rule: 30.‘]’) – + Parameters: ‘rules’ (‘Iterable’‘[’*note Rule: 31.‘]’) – Return type: None(1) @@ -6502,8 +6495,8 @@ File: werkzeug.info, Node: Custom Converters, Next: Host Matching, Prev: Rule You can add custom converters that add behaviors not provided by the built-in converters. To make a custom converter, subclass -‘BaseConverter’ then pass the new class to the *note Map: 2f. -‘converters’ parameter, or add it to *note url_map.converters: 149. +‘BaseConverter’ then pass the new class to the *note Map: 30. +‘converters’ parameter, or add it to *note url_map.converters: 14b. The converter should have a ‘regex’ attribute with a regular expression to match with. If the converter can take arguments in a URL rule, it @@ -6562,7 +6555,7 @@ New in version 0.7. Starting with Werkzeug 0.7 it’s also possible to do matching on the whole host names instead of just the subdomain. To enable this feature -you need to pass ‘host_matching=True’ to the *note Map: 2f. constructor +you need to pass ‘host_matching=True’ to the *note Map: 30. constructor and provide the ‘host’ argument to all routes: url_map = Map([ @@ -6585,8 +6578,8 @@ File: werkzeug.info, Node: WebSockets, Prev: Host Matching, Up: URL Routing New in version 1.0. -If a *note Rule: 30. is created with ‘websocket=True’, it will only -match if the *note Map: 2f. is bound to a request with a ‘url_scheme’ of +If a *note Rule: 31. is created with ‘websocket=True’, it will only +match if the *note Map: 30. is bound to a request with a ‘url_scheme’ of ‘ws’ or ‘wss’. Note: Werkzeug has no further WebSocket support beyond routing. @@ -6600,7 +6593,7 @@ match if the *note Map: 2f. is bound to a request with a ‘url_scheme’ of If the only match is a WebSocket rule and the bind is HTTP (or the only match is HTTP and the bind is WebSocket) a ‘WebsocketMismatch’ (derives -from *note BadRequest: e0.) exception is raised. +from *note BadRequest: e2.) exception is raised. As WebSocket URLs have a different scheme, rules are always built with a scheme and host, ‘force_external=True’ is implied. @@ -6609,7 +6602,7 @@ scheme and host, ‘force_external=True’ is implied. assert url == "ws://example.org/ws"  -File: werkzeug.info, Node: WSGI Helpers, Next: HTTP Utilities, Prev: URL Routing, Up: Reference +File: werkzeug.info, Node: WSGI Helpers, Next: Filesystem Utilities, Prev: URL Routing, Up: Reference 3.3 WSGI Helpers ================ @@ -6617,7 +6610,7 @@ File: werkzeug.info, Node: WSGI Helpers, Next: HTTP Utilities, Prev: URL Rout The following classes and functions are designed to make working with the WSGI specification easier or operate on the WSGI layer. All the functionality from this module is available on the high-level *note -Request / Response Objects: 93. +Request / Response Objects: 94. * Menu: @@ -6678,7 +6671,7 @@ iterator and the input stream. read. You should not use this class directly but rather use the *note - wrap_file(): 133. function that uses the WSGI server’s file wrapper + wrap_file(): 135. function that uses the WSGI server’s file wrapper support if it’s available. New in version 0.5. @@ -6701,29 +6694,29 @@ iterator and the input stream. Wraps a stream so that it doesn’t read more than n bytes. If the stream is exhausted and the caller tries to get more bytes from it - *note on_exhausted(): 171. is called which by default returns an + *note on_exhausted(): 173. is called which by default returns an empty string. The return value of that function is forwarded to the reader function. So if it returns an empty string *note - read(): 172. will return an empty string as well. + read(): 174. will return an empty string as well. The limit however must never be higher than what the stream can - output. Otherwise *note readlines(): 173. will try to read past + output. Otherwise *note readlines(): 175. will try to read past the limit. - Note on WSGI compliance: calls to *note readline(): 174. and - *note readlines(): 173. are not WSGI compliant because it + Note on WSGI compliance: calls to *note readline(): 176. and + *note readlines(): 175. are not WSGI compliant because it passes a size argument to the readline methods. Unfortunately the WSGI PEP is not safely implementable without a size - argument to *note readline(): 174. because there is no EOF + argument to *note readline(): 176. because there is no EOF marker in the stream. As a result of that the use of *note - readline(): 174. is discouraged. + readline(): 176. is discouraged. For the same reason iterating over the *note LimitedStream: - 170. is not portable. It internally calls *note readline(): - 174. + 172. is not portable. It internally calls *note readline(): + 176. - We strongly suggest using *note read(): 172. only or using the - *note make_line_iter(): 175. which safely iterates line-based + We strongly suggest using *note read(): 174. only or using the + *note make_line_iter(): 177. which safely iterates line-based over a WSGI input stream. @@ -6760,7 +6753,7 @@ iterator and the input stream. What should happen if a disconnect is detected? The return value of this function is returned from read functions in case the client went away. By default a *note ClientDisconnected: - 179. exception is raised. + 17b. exception is raised. Return type: bytes(14) @@ -6808,7 +6801,7 @@ iterator and the input stream. -- Method: readlines (size=None) Reads a file into a list of strings. It calls *note - readline(): 174. until the file is read to the end. It does + readline(): 176. until the file is read to the end. It does support the optional ‘size’ argument if the underlying stream supports it for ‘readline’. @@ -6831,7 +6824,7 @@ iterator and the input stream. buffer_size=10240, cap_at_buffer=False) Safely iterates line-based over an input stream. If the input - stream is not a *note LimitedStream: 170. the ‘limit’ parameter is + stream is not a *note LimitedStream: 172. the ‘limit’ parameter is mandatory. This uses the stream’s ‘read()’ method internally as opposite to @@ -6860,7 +6853,7 @@ iterator and the input stream. * ‘limit’ (‘Optional’‘[’int(26)‘]’) – the limit in bytes for the stream. (Usually content length. Not necessary if the - ‘stream’ is a *note LimitedStream: 170. + ‘stream’ is a *note LimitedStream: 172. * ‘buffer_size’ (int(27)) – The optional buffer size. @@ -6875,9 +6868,9 @@ iterator and the input stream. -- Function: werkzeug.wsgi.make_chunk_iter (stream, separator, limit=None, buffer_size=10240, cap_at_buffer=False) - Works like *note make_line_iter(): 175. but accepts a separator + Works like *note make_line_iter(): 177. but accepts a separator which divides chunks. If you want newline based processing you - should use *note make_line_iter(): 175. instead as it supports + should use *note make_line_iter(): 177. instead as it supports arbitrary newline markers. New in version 0.11.10: added support for the ‘cap_at_buffer’ @@ -6913,7 +6906,7 @@ iterator and the input stream. -- Function: werkzeug.wsgi.wrap_file (environ, file, buffer_size=8192) Wraps a file. This uses the WSGI server’s file wrapper if - available or otherwise the generic *note FileWrapper: 16f. + available or otherwise the generic *note FileWrapper: 171. New in version 0.5. @@ -7038,7 +7031,7 @@ information or perform common manipulations: than the standard port for the protocol. Optionally, verify that the host is trusted using *note - host_is_trusted(): 17f. and raise a *note SecurityError: 180. if it + host_is_trusted(): 181. and raise a *note SecurityError: 182. if it is not. @@ -7053,7 +7046,7 @@ information or perform common manipulations: Returns: Host, with port if necessary. - Raises: *note SecurityError: 180. – If the host is not trusted. + Raises: *note SecurityError: 182. – If the host is not trusted. Return type: str(2) @@ -7109,7 +7102,7 @@ information or perform common manipulations: environment. The URL is an IRI, not a URI, so it may contain Unicode characters. - Use *note iri_to_uri(): 184. to convert it to ASCII. + Use *note iri_to_uri(): 186. to convert it to ASCII. Parameters: @@ -7236,7 +7229,7 @@ information or perform common manipulations: errors='replace') Returns the next segment on the ‘PATH_INFO’ or ‘None’ if there is - none. Works like *note pop_path_info(): 188. without modifying the + none. Works like *note pop_path_info(): 18a. without modifying the environment: >>> env = {'SCRIPT_NAME': '/foo', 'PATH_INFO': '/a/b'} @@ -7473,7 +7466,7 @@ The reverse is done when writing to the environ. This is known as the Werkzeug provides functions to deal with this automatically so that you don’t need to be aware of the inner workings. Use the functions on this -page as well as *note EnvironHeaders(): 18f. to read data out of the +page as well as *note EnvironHeaders(): 191. to read data out of the WSGI environment. Applications should avoid manually creating or modifying a WSGI @@ -7514,9 +7507,41 @@ guaranteed to be present. (1) https://www.python.org/dev/peps/pep-3333  -File: werkzeug.info, Node: HTTP Utilities, Next: Data Structures, Prev: WSGI Helpers, Up: Reference +File: werkzeug.info, Node: Filesystem Utilities, Next: HTTP Utilities, Prev: WSGI Helpers, Up: Reference -3.4 HTTP Utilities +3.4 Filesystem Utilities +======================== + +Various utilities for the local filesystem. + + -- Class: werkzeug.filesystem.BrokenFilesystemWarning + + The warning used by Werkzeug to signal a broken filesystem. Will + only be used once per runtime. + + -- Function: werkzeug.filesystem.get_filesystem_encoding () + + Returns the filesystem encoding that should be used. Note that + this is different from the Python understanding of the filesystem + encoding which might be deeply flawed. Do not use this value + against Python’s string APIs because it might be different. See + *note The Filesystem: 197. for the exact behavior. + + The concept of a filesystem encoding in generally is not something + you should rely on. As such if you ever need to use this function + except for writing wrapper code reconsider. + + + Return type: str(1) + + ---------- Footnotes ---------- + + (1) https://docs.python.org/3/library/stdtypes.html#str + + +File: werkzeug.info, Node: HTTP Utilities, Next: Data Structures, Prev: Filesystem Utilities, Up: Reference + +3.5 HTTP Utilities ================== Werkzeug provides a couple of functions to parse and generate HTTP @@ -7537,7 +7562,7 @@ also exposed from request and response objects.  File: werkzeug.info, Node: Datetime Functions, Next: Header Parsing<2>, Up: HTTP Utilities -3.4.1 Datetime Functions +3.5.1 Datetime Functions ------------------------ These functions simplify working with times in an HTTP context. @@ -7598,6 +7623,23 @@ naive. Changed in version 2.0: Use ‘email.utils.format_datetime’. Accept ‘date’ objects. + -- Function: werkzeug.http.cookie_date (expires=None) + + Format a datetime object or timestamp into an RFC 2822(15) date + string for ‘Set-Cookie expires’. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + *note http_date(): 19c. instead. + + + Parameters: ‘expires’ + (‘Optional’‘[’‘Union’‘[’datetime.datetime(16)‘, + ’datetime.date(17)‘, ’int(18)‘, ’float(19)‘, + ’time.struct_time(20)‘]’‘]’) – + + + Return type: str(21) + ---------- Footnotes ---------- (1) https://docs.python.org/3/library/datetime.html#datetime.datetime @@ -7630,16 +7672,31 @@ https://docs.python.org/3/library/email.utils.html#email.utils.format_datetime (14) https://docs.python.org/3/library/stdtypes.html#str + (15) https://tools.ietf.org/html/rfc2822.html + + (16) +https://docs.python.org/3/library/datetime.html#datetime.datetime + + (17) https://docs.python.org/3/library/datetime.html#datetime.date + + (18) https://docs.python.org/3/library/functions.html#int + + (19) https://docs.python.org/3/library/functions.html#float + + (20) https://docs.python.org/3/library/time.html#time.struct_time + + (21) https://docs.python.org/3/library/stdtypes.html#str +  File: werkzeug.info, Node: Header Parsing<2>, Next: Header Utilities, Prev: Datetime Functions, Up: HTTP Utilities -3.4.2 Header Parsing +3.5.2 Header Parsing -------------------- The following functions can be used to parse incoming HTTP headers. Because Python does not provide data structures with the semantics required by RFC 2616(1), Werkzeug implements some custom data structures -that are *note documented separately: 197. +that are *note documented separately: 19f. -- Function: werkzeug.http.parse_options_header (value, multiple=False) @@ -7651,7 +7708,7 @@ that are *note documented separately: 197. This should not be used to parse ‘Cache-Control’ like headers that use a slightly different format. For these headers use the *note - parse_dict_header(): 199. function. + parse_dict_header(): 1a1. function. Changed in version 0.15: RFC 2231(2) parameter continuations are handled. @@ -7676,7 +7733,7 @@ that are *note documented separately: 197. -- Function: werkzeug.http.parse_set_header (value, on_update=None) - Parse a set-like header and return a *note HeaderSet: e5. object: + Parse a set-like header and return a *note HeaderSet: e7. object: >>> hs = parse_set_header('token, "quoted value"') @@ -7691,7 +7748,7 @@ that are *note documented separately: 197. HeaderSet(['token', 'quoted value']) To create a header from the ‘HeaderSet’ again, use the *note - dump_header(): 19b. function. + dump_header(): 1a3. function. Parameters: @@ -7699,15 +7756,15 @@ that are *note documented separately: 197. * ‘value’ (‘Optional’‘[’str(8)‘]’) – a set header to be parsed. * ‘on_update’ (‘Optional’‘[’‘Callable’‘[’‘[’*note - werkzeug.datastructures.HeaderSet: e5.‘]’‘, ’None(9)‘]’‘]’) – + werkzeug.datastructures.HeaderSet: e7.‘]’‘, ’None(9)‘]’‘]’) – an optional callable that is called every time a value on the - *note HeaderSet: e5. object is changed. + *note HeaderSet: e7. object is changed. - Returns: a *note HeaderSet: e5. + Returns: a *note HeaderSet: e7. - Return type: *note werkzeug.datastructures.HeaderSet: e5. + Return type: *note werkzeug.datastructures.HeaderSet: e7. -- Function: werkzeug.http.parse_list_header (value) @@ -7718,7 +7775,7 @@ that are *note documented separately: 197. a comma. A non-quoted string could have quotes in the middle. Quotes are removed automatically after parsing. - It basically works like *note parse_set_header(): 19a. just that + It basically works like *note parse_set_header(): 1a2. just that items may appear multiple times and case sensitivity is preserved. The return value is a standard list(10): @@ -7727,7 +7784,7 @@ that are *note documented separately: 197. ['token', 'quoted value'] To create a header from the list(11) again, use the *note - dump_header(): 19b. function. + dump_header(): 1a3. function. Parameters: ‘value’ (str(12)) – a string with a list header. @@ -7758,7 +7815,7 @@ that are *note documented separately: 197. {'key_without_value': None} To create a header from the dict(15) again, use the *note - dump_header(): 19b. function. + dump_header(): 1a3. function. Changed in version 0.9: Added support for ‘cls’ argument. @@ -7814,7 +7871,7 @@ that are *note documented separately: 197. responsibility to not use the wrong control statements. New in version 0.5: The ‘cls’ was added. If not specified an - immutable *note RequestCacheControl: ad. is returned. + immutable *note RequestCacheControl: ae. is returned. Parameters: @@ -7829,7 +7886,7 @@ that are *note documented separately: 197. * ‘cls’ (‘Optional’‘[’‘Type’‘[’‘werkzeug.http._TAnyCC’‘]’‘]’) – the class for the returned object. By default *note - RequestCacheControl: ad. is used. + RequestCacheControl: ae. is used. Returns: a ‘cls’ object. @@ -7841,24 +7898,24 @@ that are *note documented separately: 197. Parse an HTTP basic/digest authorization header transmitted by the web browser. The return value is either ‘None’ if the header was - invalid or not given, otherwise an *note Authorization: 7a. object. + invalid or not given, otherwise an *note Authorization: 7b. object. Parameters: ‘value’ (‘Optional’‘[’str(23)‘]’) – the authorization header to parse. - Returns: a *note Authorization: 7a. object or ‘None’. + Returns: a *note Authorization: 7b. object or ‘None’. Return type: Optional[*note werkzeug.datastructures.Authorization: - 7a.] + 7b.] -- Function: werkzeug.http.parse_www_authenticate_header (value, on_update=None) Parse an HTTP WWW-Authenticate header into a *note WWWAuthenticate: - 140. object. + 142. object. Parameters: @@ -7867,21 +7924,21 @@ that are *note documented separately: 197. to parse. * ‘on_update’ (‘Optional’‘[’‘Callable’‘[’‘[’*note - werkzeug.datastructures.WWWAuthenticate: 140.‘]’‘, + werkzeug.datastructures.WWWAuthenticate: 142.‘]’‘, ’None(25)‘]’‘]’) – an optional callable that is called every - time a value on the *note WWWAuthenticate: 140. object is + time a value on the *note WWWAuthenticate: 142. object is changed. - Returns: a *note WWWAuthenticate: 140. object. + Returns: a *note WWWAuthenticate: 142. object. - Return type: *note werkzeug.datastructures.WWWAuthenticate: 140. + Return type: *note werkzeug.datastructures.WWWAuthenticate: 142. -- Function: werkzeug.http.parse_if_range_header (value) Parses an if-range header which can be an etag or a date. Returns - a *note IfRange: cc. object. + a *note IfRange: ce. object. Changed in version 2.0: If the value represents a datetime, it is timezone-aware. @@ -7892,12 +7949,12 @@ that are *note documented separately: 197. Parameters: ‘value’ (‘Optional’‘[’str(26)‘]’) – - Return type: *note werkzeug.datastructures.IfRange: cc. + Return type: *note werkzeug.datastructures.IfRange: ce. -- Function: werkzeug.http.parse_range_header (value, make_inclusive=True) - Parses a range header into a *note Range: e8. object. If the + Parses a range header into a *note Range: ea. object. If the header is missing or malformed ‘None’ is returned. ‘ranges’ is a list of ‘(start, stop)’ tuples where the ranges are non-inclusive. @@ -7911,12 +7968,12 @@ that are *note documented separately: 197. * ‘make_inclusive’ (bool(28)) – - Return type: Optional[*note werkzeug.datastructures.Range: e8.] + Return type: Optional[*note werkzeug.datastructures.Range: ea.] -- Function: werkzeug.http.parse_content_range_header (value, on_update=None) - Parses a range header into a *note ContentRange: 113. object or + Parses a range header into a *note ContentRange: 115. object or ‘None’ if parsing is not possible. New in version 0.7. @@ -7928,14 +7985,14 @@ that are *note documented separately: 197. be parsed. * ‘on_update’ (‘Optional’‘[’‘Callable’‘[’‘[’*note - werkzeug.datastructures.ContentRange: 113.‘]’‘, + werkzeug.datastructures.ContentRange: 115.‘]’‘, ’None(30)‘]’‘]’) – an optional callable that is called every - time a value on the *note ContentRange: 113. object is + time a value on the *note ContentRange: 115. object is changed. Return type: Optional[*note werkzeug.datastructures.ContentRange: - 113.] + 115.] ---------- Footnotes ---------- @@ -8002,7 +8059,7 @@ that are *note documented separately: 197.  File: werkzeug.info, Node: Header Utilities, Next: Cookies, Prev: Header Parsing<2>, Up: HTTP Utilities -3.4.3 Header Utilities +3.5.3 Header Utilities ---------------------- The following utilities operate on HTTP headers well but do not parse @@ -8057,7 +8114,7 @@ HTTP header strings from the parsed data. Parameters: * ‘headers’ (‘Union’‘[’*note werkzeug.datastructures.Headers: - 70.‘, ’‘List’‘[’‘Tuple’‘[’str(6)‘, ’str(7)‘]’‘]’‘]’) – a list + 71.‘, ’‘List’‘[’‘Tuple’‘[’str(6)‘, ’str(7)‘]’‘]’‘]’) – a list or ‘Headers’ object. * ‘allowed’ (‘Iterable’‘[’str(8)‘]’) – a list of headers that @@ -8075,7 +8132,7 @@ HTTP header strings from the parsed data. Parameters: ‘headers’ (‘Union’‘[’*note - werkzeug.datastructures.Headers: 70.‘, + werkzeug.datastructures.Headers: 71.‘, ’‘List’‘[’‘Tuple’‘[’str(10)‘, ’str(11)‘]’‘]’‘]’) – a list or ‘Headers’ object. @@ -8126,7 +8183,7 @@ HTTP header strings from the parsed data. is_filename=False) Unquotes a header value. (Reversal of *note quote_header_value(): - 1aa.). This does not use the real unquoting but what browsers are + 1b2.). This does not use the real unquoting but what browsers are actually using for quoting. New in version 0.5. @@ -8145,8 +8202,8 @@ HTTP header strings from the parsed data. -- Function: werkzeug.http.dump_header (iterable, allow_token=True) Dump an HTTP header again. This is the reversal of *note - parse_list_header(): 19c, *note parse_set_header(): 19a. and *note - parse_dict_header(): 199. This also quotes strings that include an + parse_list_header(): 1a4, *note parse_set_header(): 1a2. and *note + parse_dict_header(): 1a1. This also quotes strings that include an equals sign unless you pass it as dict of key, value pairs. >>> dump_header({'foo': 'bar baz'}) @@ -8162,7 +8219,7 @@ HTTP header strings from the parsed data. or dict of values to quote. * ‘allow_token’ (bool(29)) – if set to ‘False’ tokens as values - are disallowed. See *note quote_header_value(): 1aa. for more + are disallowed. See *note quote_header_value(): 1b2. for more details. @@ -8233,7 +8290,7 @@ HTTP header strings from the parsed data.  File: werkzeug.info, Node: Cookies, Next: Conditional Response Helpers, Prev: Header Utilities, Up: HTTP Utilities -3.4.4 Cookies +3.5.4 Cookies ------------- -- Function: werkzeug.http.parse_cookie (header, charset='utf-8', @@ -8398,7 +8455,7 @@ https://docs.python.org/3/library/datetime.html#datetime.datetime  File: werkzeug.info, Node: Conditional Response Helpers, Next: Constants, Prev: Cookies, Up: HTTP Utilities -3.4.5 Conditional Response Helpers +3.5.5 Conditional Response Helpers ---------------------------------- For conditional responses the following functions might be useful: @@ -8412,10 +8469,10 @@ For conditional responses the following functions might be useful: parse - Returns: an *note ETags: c8. object. + Returns: an *note ETags: ca. object. - Return type: *note werkzeug.datastructures.ETags: c8. + Return type: *note werkzeug.datastructures.ETags: ca. -- Function: werkzeug.http.quote_etag (etag, weak=False) @@ -8479,7 +8536,7 @@ For conditional responses the following functions might be useful: * ‘data’ (‘Optional’‘[’bytes(13)‘]’) – or alternatively the data of the response to automatically generate an etag using *note - generate_etag(): 1b3. + generate_etag(): 1bb. * ‘last_modified’ (‘Optional’‘[’‘Union’‘[’datetime.datetime(14)‘, @@ -8540,7 +8597,7 @@ https://docs.python.org/3/library/datetime.html#datetime.datetime  File: werkzeug.info, Node: Constants, Next: Form Data Parsing, Prev: Conditional Response Helpers, Up: HTTP Utilities -3.4.6 Constants +3.5.6 Constants --------------- -- Data: werkzeug.http.HTTP_STATUS_CODES @@ -8552,7 +8609,7 @@ File: werkzeug.info, Node: Constants, Next: Form Data Parsing, Prev: Conditio  File: werkzeug.info, Node: Form Data Parsing, Prev: Constants, Up: HTTP Utilities -3.4.7 Form Data Parsing +3.5.7 Form Data Parsing ----------------------- Werkzeug provides the form parsing functions separately from the request @@ -8629,7 +8686,7 @@ environments for unittesting you might want to use the ‘RequestEntityTooLarge’ exception is raised. * ‘cls’ (‘Optional’‘[’‘Type’‘[’*note - werkzeug.datastructures.MultiDict: 82.‘]’‘]’) – an optional + werkzeug.datastructures.MultiDict: 83.‘]’‘]’) – an optional dict class to use. If this is not specified or ‘None’ the default ‘MultiDict’ is used. @@ -8654,9 +8711,9 @@ environments for unittesting you might want to use the first argument, else the stream is empty. This is a shortcut for the common usage of *note FormDataParser: - bd. + bf. - Have a look at *note Dealing with Request Data: db. for more + Have a look at *note Dealing with Request Data: dd. for more details. New in version 0.5.1: The optional ‘silent’ flag was added. @@ -8690,7 +8747,7 @@ environments for unittesting you might want to use the ‘RequestEntityTooLarge’ exception is raised. * ‘cls’ (‘Optional’‘[’‘Type’‘[’*note - werkzeug.datastructures.MultiDict: 82.‘]’‘]’) – an optional + werkzeug.datastructures.MultiDict: 83.‘]’‘]’) – an optional dict class to use. If this is not specified or ‘None’ the default ‘MultiDict’ is used. @@ -8730,7 +8787,7 @@ environments for unittesting you might want to use the  File: werkzeug.info, Node: Data Structures, Next: Utilities, Prev: HTTP Utilities, Up: Reference -3.5 Data Structures +3.6 Data Structures =================== Werkzeug provides some subclasses of common Python objects to extend @@ -8747,19 +8804,19 @@ HTTP.  File: werkzeug.info, Node: General Purpose, Next: HTTP Related, Up: Data Structures -3.5.1 General Purpose +3.6.1 General Purpose --------------------- Changed in version 0.6: The general purpose classes are now pickleable in each protocol as long as the contained objects are pickleable. This -means that the *note FileMultiDict: 83. won’t be pickleable as soon as +means that the *note FileMultiDict: 84. won’t be pickleable as soon as it contains a file. -- Class: werkzeug.datastructures.TypeConversionDict - Works like a regular dict but the *note get(): 1bd. method can - perform type conversions. *note MultiDict: 82. and *note - CombinedMultiDict: f7. are subclasses of this class and provide the + Works like a regular dict but the *note get(): 1c5. method can + perform type conversions. *note MultiDict: 83. and *note + CombinedMultiDict: f9. are subclasses of this class and provide the same feature. New in version 0.5. @@ -8788,12 +8845,12 @@ it contains a file. returned. * ‘type’ – A callable that is used to cast the value in the - *note MultiDict: 82. If a ValueError(2) is raised by + *note MultiDict: 83. If a ValueError(2) is raised by this callable the default value is returned. -- Class: werkzeug.datastructures.ImmutableTypeConversionDict - Works like a *note TypeConversionDict: 1bc. but does not support + Works like a *note TypeConversionDict: 1c4. but does not support modifications. New in version 0.5. @@ -8801,18 +8858,18 @@ it contains a file. -- Method: copy () Return a shallow mutable copy of this object. Keep in mind - that the standard library’s *note copy(): 1bf. function is a + that the standard library’s *note copy(): 1c7. function is a no-op for this class like for any other python immutable type (eg: tuple(3)). -- Class: werkzeug.datastructures.MultiDict (mapping=None) - A *note MultiDict: 82. is a dictionary subclass customized to deal + A *note MultiDict: 83. is a dictionary subclass customized to deal with multiple values for the same key which is for example used by the parsing functions in the wrappers. This is necessary because some HTML form elements pass multiple values for the same key. - *note MultiDict: 82. implements all standard dictionary methods. + *note MultiDict: 83. implements all standard dictionary methods. Internally, it saves all values for a key as a list, but the standard dict access methods will only return the first value for a key. If you want to gain access to the other values, too, you have @@ -8838,13 +8895,13 @@ it contains a file. a page for a ‘400 BAD REQUEST’ if caught in a catch-all for HTTP exceptions. - A *note MultiDict: 82. can be constructed from an iterable of - ‘(key, value)’ tuples, a dict, a *note MultiDict: 82. or from + A *note MultiDict: 83. can be constructed from an iterable of + ‘(key, value)’ tuples, a dict, a *note MultiDict: 83. or from Werkzeug 0.2 onwards some keyword parameters. Parameters: ‘mapping’ – the initial value for the *note MultiDict: - 82. Either a regular dict, an iterable of ‘(key, value)’ tuples or + 83. Either a regular dict, an iterable of ‘(key, value)’ tuples or ‘None’. -- Method: add (key, value) @@ -8899,7 +8956,7 @@ it contains a file. returned. * ‘type’ – A callable that is used to cast the value in the - *note MultiDict: 82. If a ValueError(5) is raised by + *note MultiDict: 83. If a ValueError(5) is raised by this callable the default value is returned. -- Method: getlist (key, type=None) @@ -8915,7 +8972,7 @@ it contains a file. * ‘key’ – The key to be looked up. * ‘type’ – A callable that is used to cast the value in the - *note MultiDict: 82. If a ValueError(6) is raised by + *note MultiDict: 83. If a ValueError(6) is raised by this callable the value will be removed from the list. @@ -8941,8 +8998,8 @@ it contains a file. -- Method: listvalues () Return an iterator of all values associated with a key. - Zipping *note keys(): 1c8. and this is the same as calling - *note lists(): 1c9.: + Zipping *note keys(): 1d0. and this is the same as calling + *note lists(): 1d1.: >>> d = MultiDict({"foo": [1, 2, 3]}) >>> zip(d.keys(), d.listvalues()) == d.lists() @@ -9083,12 +9140,12 @@ it contains a file. -- Class: werkzeug.datastructures.OrderedMultiDict (mapping=None) - Works like a regular *note MultiDict: 82. but preserves the order + Works like a regular *note MultiDict: 83. but preserves the order of the fields. To convert the ordered multi dict into a list you can use the ‘items()’ method and pass it ‘multi=True’. - In general an *note OrderedMultiDict: 1d5. is an order of magnitude - slower than a *note MultiDict: 82. + In general an *note OrderedMultiDict: 1dd. is an order of magnitude + slower than a *note MultiDict: 83. note: Due to a limitation in Python you cannot convert an ordered multi dict into a regular dict by using @@ -9097,35 +9154,35 @@ it contains a file. -- Class: werkzeug.datastructures.ImmutableMultiDict (mapping=None) - An immutable *note MultiDict: 82. + An immutable *note MultiDict: 83. New in version 0.5. -- Method: copy () Return a shallow mutable copy of this object. Keep in mind - that the standard library’s *note copy(): 1d6. function is a + that the standard library’s *note copy(): 1de. function is a no-op for this class like for any other python immutable type (eg: tuple(10)). -- Class: werkzeug.datastructures.ImmutableOrderedMultiDict (mapping=None) - An immutable *note OrderedMultiDict: 1d5. + An immutable *note OrderedMultiDict: 1dd. New in version 0.6. -- Method: copy () Return a shallow mutable copy of this object. Keep in mind - that the standard library’s *note copy(): 1d8. function is a + that the standard library’s *note copy(): 1e0. function is a no-op for this class like for any other python immutable type (eg: tuple(11)). -- Class: werkzeug.datastructures.CombinedMultiDict (dicts=None) - A read only *note MultiDict: 82. that you can pass multiple *note - MultiDict: 82. instances as sequence and it will combine the return + A read only *note MultiDict: 83. that you can pass multiple *note + MultiDict: 83. instances as sequence and it will combine the return values of all wrapped dicts: >>> from werkzeug.datastructures import CombinedMultiDict, MultiDict @@ -9154,7 +9211,7 @@ it contains a file. -- Method: copy () Return a shallow mutable copy of this object. Keep in mind - that the standard library’s *note copy(): 1da. function is a + that the standard library’s *note copy(): 1e2. function is a no-op for this class like for any other python immutable type (eg: tuple(13)). @@ -9169,7 +9226,7 @@ it contains a file. -- Class: werkzeug.datastructures.FileMultiDict (mapping=None) - A special *note MultiDict: 82. that has convenience methods to add + A special *note MultiDict: 83. that has convenience methods to add files to it. This is used for ‘EnvironBuilder’ and generally useful for unittesting. @@ -9178,7 +9235,7 @@ it contains a file. -- Method: add_file (name, file, filename=None, content_type=None) Adds a new file to the dict. ‘file’ can be a file name or a - ‘file’-like or a *note FileStorage: b9. object. + ‘file’-like or a *note FileStorage: bb. object. Parameters: @@ -9224,7 +9281,7 @@ it contains a file.  File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Up: Data Structures -3.5.2 HTTP Related +3.6.2 HTTP Related ------------------ -- Class: werkzeug.datastructures.Headers ([defaults]) @@ -9244,19 +9301,16 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Headers is mostly compatible with the Python wsgiref.headers.Headers(2) class, with the exception of ‘__getitem__’. wsgiref(3) will return ‘None’ for - ‘headers['missing']’, whereas *note Headers: 70. will raise a + ‘headers['missing']’, whereas *note Headers: 71. will raise a KeyError(4). - To create a new ‘Headers’ object, pass it a list, dict, or other - ‘Headers’ object with default values. These values are validated - the same way values added later are. + To create a new *note Headers: 71. object pass it a list or dict of + headers which are used as default values. This does not reuse the + list passed to the constructor for internal usage. Parameters: ‘defaults’ – The list of default values for the *note - Headers: 70. - - Changed in version 2.1.0: Default values are validated the same as - values added later. + Headers: 71. Changed in version 0.9: This data structure now stores unicode values similar to how the multi dicts do it. The main difference @@ -9288,7 +9342,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Add a new header tuple to the list. - An alias for *note add(): 1dd. for compatibility with the + An alias for *note add(): 1e5. for compatibility with the wsgiref(6) add_header()(7) method. -- Method: clear () @@ -9301,13 +9355,13 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, containing header items as well as keyword arguments. To replace existing keys instead of extending, use *note - update(): 1e1. instead. + update(): 1e9. instead. If provided, the first argument can be another *note Headers: - 70. object, a *note MultiDict: 82, dict(8), or iterable of + 71. object, a *note MultiDict: 83, dict(8), or iterable of pairs. - Changed in version 1.0: Support *note MultiDict: 82. Allow + Changed in version 1.0: Support *note MultiDict: 83. Allow passing ‘kwargs’. -- Method: get (key, default=None, type=None, as_bytes=False) @@ -9334,7 +9388,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, returned. * ‘type’ – A callable that is used to cast the value in the - *note Headers: 70. If a ValueError(10) is raised by this + *note Headers: 71. If a ValueError(10) is raised by this callable the default value is returned. * ‘as_bytes’ – return bytes instead of strings. @@ -9349,8 +9403,8 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Method: getlist (key, type=None, as_bytes=False) Return the list of items for a given key. If that key is not - in the *note Headers: 70, the return value will be an empty - list. Just like *note get(): 1e2, *note getlist(): 1e4. + in the *note Headers: 71, the return value will be an empty + list. Just like *note get(): 1ea, *note getlist(): 1ec. accepts a ‘type’ parameter. All items will be converted with the callable defined there. @@ -9362,7 +9416,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, * ‘key’ – The key to be looked up. * ‘type’ – A callable that is used to cast the value in the - *note Headers: 70. If a ValueError(13) is raised by this + *note Headers: 71. If a ValueError(13) is raised by this callable the value will be removed from the list. * ‘as_bytes’ – return bytes instead of strings. @@ -9370,6 +9424,11 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Returns: a list(14) of all the values for the key. + -- Method: has_key (key) + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. + Use ‘key in data’ instead. + -- Method: pop (key=None, default=no value) Removes and returns a key or index. @@ -9402,10 +9461,10 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Keyword arguments can specify additional parameters for the header value, with underscores converted to dashes. See *note - add(): 1dd. for more information. + add(): 1e5. for more information. - Changed in version 0.6.1: *note set(): 1e8. now accepts the - same arguments as *note add(): 1dd. + Changed in version 0.6.1: *note set(): 1f1. now accepts the + same arguments as *note add(): 1e5. Parameters: @@ -9447,7 +9506,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, otherwise set the header to the list of values given by ‘default’ and return that. - Unlike *note MultiDict.setlistdefault(): 1d1, modifying the + Unlike *note MultiDict.setlistdefault(): 1d9, modifying the returned list will not affect the headers. @@ -9473,10 +9532,10 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, object and keyword arguments. To extend existing keys instead of replacing, use *note - extend(): 1e0. instead. + extend(): 1e8. instead. If provided, the first argument can be another *note Headers: - 70. object, a *note MultiDict: 82, dict(15), or iterable of + 71. object, a *note MultiDict: 83, dict(15), or iterable of pairs. New in version 1.0. @@ -9495,8 +9554,8 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Class: werkzeug.datastructures.HeaderSet (headers=None, on_update=None) - Similar to the *note ETags: c8. class this implements a set-like - structure. Unlike *note ETags: c8. this is case insensitive and + Similar to the *note ETags: ca. class this implements a set-like + structure. Unlike *note ETags: ca. this is case insensitive and used for vary, allow, and content-language headers. If not constructed using the ‘parse_set_header()’ function the @@ -9519,7 +9578,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Parameters: ‘preserve_casing’ – if set to ‘True’ the items in the set returned will have the original case like in the *note - HeaderSet: e5, otherwise they will be lowercase. + HeaderSet: e7, otherwise they will be lowercase. -- Method: clear () @@ -9527,7 +9586,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Method: discard (header) - Like *note remove(): 1f1. but ignores errors. + Like *note remove(): 1fa. but ignores errors. Parameters: ‘header’ – the header to be discarded. @@ -9573,11 +9632,11 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Class: werkzeug.datastructures.Accept (values=()) - An *note Accept: 9d. object is just a list subclass for lists of + An *note Accept: 9e. object is just a list subclass for lists of ‘(value, quality)’ tuples. It is automatically sorted by specificity and quality. - All *note Accept: 9d. objects work similar to a list but provide + All *note Accept: 9e. objects work similar to a list but provide extra functionality for working with the data. Containment checks are normalized to the rules of that header: @@ -9598,11 +9657,11 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, >>> a['utf7'] 0 - Changed in version 1.0.0: *note Accept: 9d. internal values are no + Changed in version 1.0.0: *note Accept: 9e. internal values are no longer ordered alphabetically for equal quality tags. Instead the initial order is preserved. - Changed in version 0.5: *note Accept: 9d. objects are forced + Changed in version 0.5: *note Accept: 9e. objects are forced immutable now. -- Property: best @@ -9658,7 +9717,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Class: werkzeug.datastructures.MIMEAccept (values=()) - Like *note Accept: 9d. but with special methods and behavior for + Like *note Accept: 9e. but with special methods and behavior for mimetypes. -- Property: accept_html @@ -9675,11 +9734,11 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Class: werkzeug.datastructures.CharsetAccept (values=()) - Like *note Accept: 9d. but with normalization for charsets. + Like *note Accept: 9e. but with normalization for charsets. -- Class: werkzeug.datastructures.LanguageAccept (values=()) - Like *note Accept: 9d. but with normalization for language tags. + Like *note Accept: 9e. but with normalization for language tags. -- Class: werkzeug.datastructures.RequestCacheControl (values=(), on_update=None) @@ -9687,14 +9746,11 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, A cache control for requests. This is immutable and gives access to all the request-relevant cache control headers. - To get a header of the *note RequestCacheControl: ad. object again + To get a header of the *note RequestCacheControl: ae. object again you can convert the object into a string or call the ‘to_header()’ method. If you plan to subclass it and add your own items have a look at the sourcecode for that class. - Changed in version 2.1.0: Setting int properties such as ‘max_age’ - will convert the value to an int. - New in version 0.5: In previous versions a ‘CacheControl’ class existed that was used both for request and response. @@ -9730,17 +9786,14 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, on_update=None) A cache control for responses. Unlike *note RequestCacheControl: - ad. this is mutable and gives access to response-relevant cache + ae. this is mutable and gives access to response-relevant cache control headers. - To get a header of the *note ResponseCacheControl: 109. object + To get a header of the *note ResponseCacheControl: 10b. object again you can convert the object into a string or call the ‘to_header()’ method. If you plan to subclass it and add your own items have a look at the sourcecode for that class. - Changed in version 2.1.0: Setting int properties such as ‘max_age’ - will convert the value to an int. - New in version 0.5: In previous versions a ‘CacheControl’ class existed that was used both for request and response. @@ -9827,9 +9880,9 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, Represents an ‘Authorization’ header sent by the client. - This is returned by *note parse_authorization_header(): 19f. It + This is returned by *note parse_authorization_header(): 1a7. It can be useful to create the object manually to pass to the test - *note Client: 5c. + *note Client: 5d. Changed in version 0.5: This object became immutable. @@ -9918,7 +9971,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, special_realm = auth_property('special_realm') For more information have a look at the sourcecode to see how - the regular properties (*note realm: 225. etc.) are + the regular properties (*note realm: 22e. etc.) are implemented. -- Property: domain @@ -10013,7 +10066,7 @@ File: werkzeug.info, Node: HTTP Related, Next: Others, Prev: General Purpose, -- Method: make_content_range (length) - Creates a *note ContentRange: 113. object from the current + Creates a *note ContentRange: 115. object from the current range and given content length. -- Method: range_for_length (length) @@ -10125,14 +10178,14 @@ https://docs.python.org/3/library/wsgiref.html#wsgiref.headers.Headers.get_all  File: werkzeug.info, Node: Others, Prev: HTTP Related, Up: Data Structures -3.5.3 Others +3.6.3 Others ------------ -- Class: werkzeug.datastructures.FileStorage (stream=None, filename=None, name=None, content_type=None, content_length=None, headers=None) - The *note FileStorage: b9. class is a thin wrapper over incoming + The *note FileStorage: bb. class is a thin wrapper over incoming files. It is used by the request object to represent uploaded files. All the attributes of the wrapper stream are proxied by the file storage so it’s possible to do ‘storage.read()’ instead of the @@ -10153,7 +10206,7 @@ File: werkzeug.info, Node: Others, Prev: HTTP Related, Up: Data Structures -- Attribute: headers - The multipart headers as *note Headers: 70. object. This + The multipart headers as *note Headers: 71. object. This usually contains irrelevant information but in combination with custom multipart requests the raw headers might be interesting. @@ -10174,7 +10227,7 @@ File: werkzeug.info, Node: Others, Prev: HTTP Related, Up: Data Structures -- Property: mimetype - Like *note content_type: 245, but without parameters (eg, + Like *note content_type: 24e, but without parameters (eg, without charset, type etc.) and always lowercase. For example if the content type is ‘text/HTML; charset=utf-8’ the mimetype would be ‘'text/html'’. @@ -10221,23 +10274,97 @@ File: werkzeug.info, Node: Others, Prev: HTTP Related, Up: Data Structures  File: werkzeug.info, Node: Utilities, Next: URL Helpers<2>, Prev: Data Structures, Up: Reference -3.6 Utilities +3.7 Utilities ============= Various utility functions shipped with Werkzeug. * Menu: +* HTML Helpers:: * General Helpers:: * URL Helpers:: * User Agent API:: +* UserAgent Parsing (deprecated): UserAgent Parsing deprecated. * Security Helpers:: * Logging::  -File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities +File: werkzeug.info, Node: HTML Helpers, Next: General Helpers, Up: Utilities -3.6.1 General Helpers +3.7.1 HTML Helpers +------------------ + + -- Class: werkzeug.utils.HTMLBuilder (dialect) + + Helper object for HTML generation. + + Per default there are two instances of that class. The ‘html’ one, + and the ‘xhtml’ one for those two dialects. The class uses keyword + parameters and positional parameters to generate small snippets of + HTML. + + Keyword parameters are converted to XML/SGML attributes, positional + arguments are used as children. Because Python accepts positional + arguments before keyword arguments it’s a good idea to use a list + with the star-syntax for some children: + + >>> html.p(class_='foo', *[html.a('foo', href='foo.html'), ' ', + ... html.a('bar', href='bar.html')]) + '

foo bar

' + + This class works around some browser limitations and can not be + used for arbitrary SGML/XML generation. For that purpose lxml and + similar libraries exist. + + Calling the builder escapes the string passed: + + >>> html.p(html("")) + '

<foo>

' + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. + + -- Function: werkzeug.utils.escape (s) + + Replace ‘&’, ‘<’, ‘>’, ‘"’, and ‘'’ with HTML-safe sequences. + + ‘None’ is escaped to an empty string. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + MarkupSafe instead. + + + Parameters: ‘s’ (‘Any’) – + + + Return type: str(1) + + -- Function: werkzeug.utils.unescape (s) + + The reverse of *note escape(): 255. This unescapes all the HTML + entities, not only those inserted by ‘escape’. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + MarkupSafe instead. + + + Parameters: ‘s’ (str(2)) – + + + Return type: str(3) + + ---------- Footnotes ---------- + + (1) https://docs.python.org/3/library/stdtypes.html#str + + (2) https://docs.python.org/3/library/stdtypes.html#str + + (3) https://docs.python.org/3/library/stdtypes.html#str + + +File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Prev: HTML Helpers, Up: Utilities + +3.7.2 General Helpers --------------------- -- Class: werkzeug.utils.cached_property (fget, name=None, doc=None) @@ -10275,6 +10402,43 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities Return type: None(3) + -- Function: werkzeug.utils.invalidate_cached_property (obj, name) + + Invalidates the cache for a *note cached_property: 258.: + + >>> class Test(object): + ... @cached_property + ... def magic_number(self): + ... print("recalculating...") + ... return 42 + ... + >>> var = Test() + >>> var.magic_number + recalculating... + 42 + >>> var.magic_number + 42 + >>> invalidate_cached_property(var, "magic_number") + >>> var.magic_number + recalculating... + 42 + + You must pass the name of the cached property as the second + argument. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + ‘del obj.name’ instead. + + + Parameters: + + * ‘obj’ (object(4)) – + + * ‘name’ (str(5)) – + + + Return type: None(6) + -- Class: werkzeug.utils.environ_property (name, default=None, load_func=None, dump_func=None, read_only=None, doc=None) @@ -10291,7 +10455,7 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities If you pass it a second value it’s used as default if the key does not exist, the third one can be a converter that takes a value and - converts it. If it raises ValueError(4) or TypeError(5) the + converts it. If it raises ValueError(7) or TypeError(8) the default value is used. If no default value is provided ‘None’ is used. @@ -10321,17 +10485,17 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities Parameters: - * ‘location’ (str(6)) – the location the response should + * ‘location’ (str(9)) – the location the response should redirect to. - * ‘code’ (int(7)) – the redirect status code. defaults to 302. + * ‘code’ (int(10)) – the redirect status code. defaults to 302. * ‘Response’ (‘class’) – a Response class to use when instantiating a response. The default is *note - werkzeug.wrappers.Response: 5e. if unspecified. + werkzeug.wrappers.Response: 5f. if unspecified. - Return type: *note Response: 5e. + Return type: *note Response: 5f. -- Function: werkzeug.utils.append_slash_redirect (environ, code=301) @@ -10345,10 +10509,10 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities * ‘environ’ (‘WSGIEnvironment’) – the WSGI environment for the request that triggers the redirect. - * ‘code’ (int(8)) – the status code for the redirect. + * ‘code’ (int(11)) – the status code for the redirect. - Return type: *note Response: 5e. + Return type: *note Response: 5f. -- Function: werkzeug.utils.send_file (path_or_file, environ, mimetype=None, as_attachment=False, download_name=None, @@ -10361,7 +10525,7 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities are preferred in most cases because Werkzeug can manage the file and get extra information from the path. Passing a file-like object requires that the file is opened in binary mode, and is - mostly useful when building a file in memory with io.BytesIO(9). + mostly useful when building a file in memory with io.BytesIO(12). Never pass file paths provided by a user. The path is assumed to be trusted, so a user could craft a path to access a file you @@ -10376,8 +10540,8 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities Parameters: - * ‘path_or_file’ (‘Union’‘[’os.PathLike(10)‘, ’str(11)‘, - ’‘IO’‘[’bytes(12)‘]’‘]’) – The path to the file to send, + * ‘path_or_file’ (‘Union’‘[’os.PathLike(13)‘, ’str(14)‘, + ’‘IO’‘[’bytes(15)‘]’‘]’) – The path to the file to send, relative to the current working directory if a relative path is given. Alternatively, a file-like object opened in binary mode. Make sure the file pointer is seeked to the start of @@ -10386,52 +10550,52 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities * ‘environ’ (‘WSGIEnvironment’) – The WSGI environ for the current request. - * ‘mimetype’ (‘Optional’‘[’str(13)‘]’) – The MIME type to send + * ‘mimetype’ (‘Optional’‘[’str(16)‘]’) – The MIME type to send for the file. If not provided, it will try to detect it from the file name. - * ‘as_attachment’ (bool(14)) – Indicate to a browser that it + * ‘as_attachment’ (bool(17)) – Indicate to a browser that it should offer to save the file instead of displaying it. - * ‘download_name’ (‘Optional’‘[’str(15)‘]’) – The default name + * ‘download_name’ (‘Optional’‘[’str(18)‘]’) – The default name browsers will use when saving the file. Defaults to the passed file name. - * ‘conditional’ (bool(16)) – Enable conditional and range + * ‘conditional’ (bool(19)) – Enable conditional and range responses based on request headers. Requires passing a file path and ‘environ’. - * ‘etag’ (‘Union’‘[’bool(17)‘, ’str(18)‘]’) – Calculate an ETag + * ‘etag’ (‘Union’‘[’bool(20)‘, ’str(21)‘]’) – Calculate an ETag for the file, which requires passing a file path. Can also be a string to use instead. * ‘last_modified’ - (‘Optional’‘[’‘Union’‘[’datetime.datetime(19)‘, ’int(20)‘, - ’float(21)‘]’‘]’) – The last modified time to send for the + (‘Optional’‘[’‘Union’‘[’datetime.datetime(22)‘, ’int(23)‘, + ’float(24)‘]’‘]’) – The last modified time to send for the file, in seconds. If not provided, it will try to detect it from the file path. - * ‘max_age’ (‘Optional’‘[’‘Union’‘[’int(22)‘, - ’‘Callable’‘[’‘[’‘Optional’‘[’str(23)‘]’‘]’‘, - ’‘Optional’‘[’int(24)‘]’‘]’‘]’‘]’) – How long the client + * ‘max_age’ (‘Optional’‘[’‘Union’‘[’int(25)‘, + ’‘Callable’‘[’‘[’‘Optional’‘[’str(26)‘]’‘]’‘, + ’‘Optional’‘[’int(27)‘]’‘]’‘]’‘]’) – How long the client should cache the file, in seconds. If set, ‘Cache-Control’ will be ‘public’, otherwise it will be ‘no-cache’ to prefer conditional caching. - * ‘use_x_sendfile’ (bool(25)) – Set the ‘X-Sendfile’ header to + * ‘use_x_sendfile’ (bool(28)) – Set the ‘X-Sendfile’ header to let the server to efficiently send the file. Requires support from the HTTP server. Requires passing a file path. * ‘response_class’ (‘Optional’‘[’‘Type’‘[’*note Response: - 5e.‘]’‘]’) – Build the response using this class. Defaults to - *note Response: 5e. + 5f.‘]’‘]’) – Build the response using this class. Defaults to + *note Response: 5f. - * ‘_root_path’ (‘Optional’‘[’‘Union’‘[’os.PathLike(26)‘, - ’str(27)‘]’‘]’) – Do not use. For internal use only. Use + * ‘_root_path’ (‘Optional’‘[’‘Union’‘[’os.PathLike(29)‘, + ’str(30)‘]’‘]’) – Do not use. For internal use only. Use ‘send_from_directory()’ to safely send files under a path. - Return type: *note Response: 5e. + Return type: *note Response: 5f. Changed in version 2.0.2: ‘send_file’ only sets a detected ‘Content-Encoding’ if ‘as_attachment’ is disabled. @@ -10466,10 +10630,10 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities Parameters: - * ‘import_name’ (str(28)) – the dotted name for the object to + * ‘import_name’ (str(31)) – the dotted name for the object to import. - * ‘silent’ (bool(29)) – if set to ‘True’ import errors are + * ‘silent’ (bool(32)) – if set to ‘True’ import errors are ignored and ‘None’ is returned instead. @@ -10494,26 +10658,87 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities Parameters: - * ‘import_path’ (str(30)) – the dotted name for the package to + * ‘import_path’ (str(33)) – the dotted name for the package to find child modules. - * ‘include_packages’ (bool(31)) – set to ‘True’ if packages + * ‘include_packages’ (bool(34)) – set to ‘True’ if packages should be returned, too. - * ‘recursive’ (bool(32)) – set to ‘True’ if recursion should + * ‘recursive’ (bool(35)) – set to ‘True’ if recursion should happen. Returns: generator - Return type: Iterator[str(33)] + Return type: Iterator[str(36)] + + -- Function: werkzeug.utils.validate_arguments (func, args, kwargs, + drop_extra=True) + + Checks if the function accepts the arguments and keyword arguments. + Returns a new ‘(args, kwargs)’ tuple that can safely be passed to + the function without causing a ‘TypeError’ because the function + signature is incompatible. If ‘drop_extra’ is set to ‘True’ (which + is the default) any extra positional or keyword arguments are + dropped automatically. + + The exception raised provides three attributes: + + ‘missing’ + + A set of argument names that the function expected but where + missing. + + ‘extra’ + + A dict of keyword arguments that the function can not handle + but where provided. + + ‘extra_positional’ + + A list of values that where given by positional argument but + the function cannot accept. + + This can be useful for decorators that forward user submitted data + to a view function: + + from werkzeug.utils import ArgumentValidationError, validate_arguments + + def sanitize(f): + def proxy(request): + data = request.values.to_dict() + try: + args, kwargs = validate_arguments(f, (request,), data) + except ArgumentValidationError: + raise BadRequest('The browser failed to transmit all ' + 'the data expected.') + return f(*args, **kwargs) + return proxy + + + Parameters: + + * ‘func’ – the function the validation is performed against. + + * ‘args’ – a tuple of positional arguments. + + * ‘kwargs’ – a dict of keyword arguments. + + * ‘drop_extra’ – set to ‘False’ if you don’t want extra + arguments to be silently dropped. + + + Returns: tuple in the form ‘(args, kwargs)’. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + inspect.signature()(37) instead. -- Function: werkzeug.utils.secure_filename (filename) Pass it a filename and it will return a secure version of it. This filename can then safely be stored on a regular file system and - passed to os.path.join()(34). The filename returned is an ASCII + passed to os.path.join()(38). The filename returned is an ASCII only string for maximum portability. On windows systems the function also makes sure that the file is @@ -10534,10 +10759,34 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities New in version 0.5. - Parameters: ‘filename’ (str(35)) – the filename to secure + Parameters: ‘filename’ (str(39)) – the filename to secure - Return type: str(36) + Return type: str(40) + + -- Function: werkzeug.utils.bind_arguments (func, args, kwargs) + + Bind the arguments provided into a dict. When passed a function, a + tuple of arguments and a dict of keyword arguments ‘bind_arguments’ + returns a dict of names as the function would see it. This can be + useful to implement a cache decorator that uses the function + arguments to build the cache key based on the values of the + arguments. + + + Parameters: + + * ‘func’ – the function the arguments should be bound for. + + * ‘args’ – tuple of positional arguments. + + * ‘kwargs’ – a dict of keyword arguments. + + + Returns: a dict(41) of bound keyword arguments. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + ‘Signature.bind()’ instead. ---------- Footnotes ---------- @@ -10547,85 +10796,95 @@ File: werkzeug.info, Node: General Helpers, Next: URL Helpers, Up: Utilities (3) https://docs.python.org/3/library/constants.html#None - (4) https://docs.python.org/3/library/exceptions.html#ValueError + (4) https://docs.python.org/3/library/functions.html#object - (5) https://docs.python.org/3/library/exceptions.html#TypeError + (5) https://docs.python.org/3/library/stdtypes.html#str - (6) https://docs.python.org/3/library/stdtypes.html#str + (6) https://docs.python.org/3/library/constants.html#None - (7) https://docs.python.org/3/library/functions.html#int + (7) https://docs.python.org/3/library/exceptions.html#ValueError - (8) https://docs.python.org/3/library/functions.html#int + (8) https://docs.python.org/3/library/exceptions.html#TypeError - (9) https://docs.python.org/3/library/io.html#io.BytesIO + (9) https://docs.python.org/3/library/stdtypes.html#str - (10) https://docs.python.org/3/library/os.html#os.PathLike + (10) https://docs.python.org/3/library/functions.html#int - (11) https://docs.python.org/3/library/stdtypes.html#str + (11) https://docs.python.org/3/library/functions.html#int - (12) https://docs.python.org/3/library/stdtypes.html#bytes + (12) https://docs.python.org/3/library/io.html#io.BytesIO - (13) https://docs.python.org/3/library/stdtypes.html#str + (13) https://docs.python.org/3/library/os.html#os.PathLike - (14) https://docs.python.org/3/library/functions.html#bool + (14) https://docs.python.org/3/library/stdtypes.html#str - (15) https://docs.python.org/3/library/stdtypes.html#str + (15) https://docs.python.org/3/library/stdtypes.html#bytes - (16) https://docs.python.org/3/library/functions.html#bool + (16) https://docs.python.org/3/library/stdtypes.html#str (17) https://docs.python.org/3/library/functions.html#bool (18) https://docs.python.org/3/library/stdtypes.html#str - (19) + (19) https://docs.python.org/3/library/functions.html#bool + + (20) https://docs.python.org/3/library/functions.html#bool + + (21) https://docs.python.org/3/library/stdtypes.html#str + + (22) https://docs.python.org/3/library/datetime.html#datetime.datetime - (20) https://docs.python.org/3/library/functions.html#int + (23) https://docs.python.org/3/library/functions.html#int - (21) https://docs.python.org/3/library/functions.html#float + (24) https://docs.python.org/3/library/functions.html#float - (22) https://docs.python.org/3/library/functions.html#int + (25) https://docs.python.org/3/library/functions.html#int - (23) https://docs.python.org/3/library/stdtypes.html#str + (26) https://docs.python.org/3/library/stdtypes.html#str - (24) https://docs.python.org/3/library/functions.html#int + (27) https://docs.python.org/3/library/functions.html#int - (25) https://docs.python.org/3/library/functions.html#bool + (28) https://docs.python.org/3/library/functions.html#bool - (26) https://docs.python.org/3/library/os.html#os.PathLike - - (27) https://docs.python.org/3/library/stdtypes.html#str - - (28) https://docs.python.org/3/library/stdtypes.html#str - - (29) https://docs.python.org/3/library/functions.html#bool + (29) https://docs.python.org/3/library/os.html#os.PathLike (30) https://docs.python.org/3/library/stdtypes.html#str - (31) https://docs.python.org/3/library/functions.html#bool + (31) https://docs.python.org/3/library/stdtypes.html#str (32) https://docs.python.org/3/library/functions.html#bool (33) https://docs.python.org/3/library/stdtypes.html#str - (34) https://docs.python.org/3/library/os.path.html#os.path.join + (34) https://docs.python.org/3/library/functions.html#bool - (35) https://docs.python.org/3/library/stdtypes.html#str + (35) https://docs.python.org/3/library/functions.html#bool (36) https://docs.python.org/3/library/stdtypes.html#str + (37) https://docs.python.org/3/library/inspect.html#inspect.signature + + (38) https://docs.python.org/3/library/os.path.html#os.path.join + + (39) https://docs.python.org/3/library/stdtypes.html#str + + (40) https://docs.python.org/3/library/stdtypes.html#str + + (41) https://docs.python.org/3/library/stdtypes.html#dict +  File: werkzeug.info, Node: URL Helpers, Next: User Agent API, Prev: General Helpers, Up: Utilities -3.6.2 URL Helpers +3.7.3 URL Helpers ----------------- -Please refer to *note URL Helpers: 254. +Please refer to *note URL Helpers: 264.  -File: werkzeug.info, Node: User Agent API, Next: Security Helpers, Prev: URL Helpers, Up: Utilities +File: werkzeug.info, Node: User Agent API, Next: UserAgent Parsing deprecated, Prev: URL Helpers, Up: Utilities -3.6.3 User Agent API +3.7.4 User Agent API -------------------- -- Class: werkzeug.user_agent.UserAgent (string) @@ -10633,9 +10892,9 @@ File: werkzeug.info, Node: User Agent API, Next: Security Helpers, Prev: URL Represents a parsed user agent header value. The default implementation does no parsing, only the *note string: - 256. attribute is set. A subclass may parse the string to set the + 266. attribute is set. A subclass may parse the string to set the common attributes or expose other information. Set *note - werkzeug.wrappers.Request.user_agent_class: f5. to use a subclass. + werkzeug.wrappers.Request.user_agent_class: f7. to use a subclass. Parameters: ‘string’ (str(1)) – The header value to parse. @@ -10692,17 +10951,66 @@ File: werkzeug.info, Node: User Agent API, Next: Security Helpers, Prev: URL (8) https://docs.python.org/3/library/stdtypes.html#str  -File: werkzeug.info, Node: Security Helpers, Next: Logging, Prev: User Agent API, Up: Utilities +File: werkzeug.info, Node: UserAgent Parsing deprecated, Next: Security Helpers, Prev: User Agent API, Up: Utilities -3.6.4 Security Helpers +3.7.5 UserAgent Parsing (deprecated) +------------------------------------ + +Deprecated since version 2.0: This module will be removed in Werkzeug +2.1. Subclass *note werkzeug.user_agent.UserAgent: f6. to use a +dedicated parser instead. + + -- Class: werkzeug.useragents.UserAgent (environ_or_string) + + Represents a parsed user agent header value. + + This uses a basic parser to try to extract some information from + the header. + + + Parameters: ‘environ_or_string’ (‘t.Union’‘[’str(1)‘, + ’‘WSGIEnvironment’‘]’) – The header value to parse, or a WSGI + environ containing the header. + + + Return type: None(2) + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. + Subclass *note werkzeug.user_agent.UserAgent: f6. (note the new + module name) to use a dedicated parser instead. + + Changed in version 2.0: Passing a WSGI environ is deprecated and + will be removed in 2.1. + + -- Method: to_header () + + Convert to a header value. + + + Return type: str(3) + + ---------- Footnotes ---------- + + (1) https://docs.python.org/3/library/stdtypes.html#str + + (2) https://docs.python.org/3/library/constants.html#None + + (3) https://docs.python.org/3/library/stdtypes.html#str + + +File: werkzeug.info, Node: Security Helpers, Next: Logging, Prev: UserAgent Parsing deprecated, Up: Utilities + +3.7.6 Security Helpers ---------------------- +New in version 0.6.1. + -- Function: werkzeug.security.generate_password_hash (password, method='pbkdf2:sha256', salt_length=16) Hash a password with the given method and salt with a string of the given length. The format of the string returned includes the - method that was used so that *note check_password_hash(): 25e. can + method that was used so that *note check_password_hash(): 271. can check the hash. The format for the hashed string looks like this: @@ -10747,7 +11055,7 @@ File: werkzeug.info, Node: Security Helpers, Next: Logging, Prev: User Agent Parameters: * ‘pwhash’ (str(5)) – a hashed string like returned by *note - generate_password_hash(): 25d. + generate_password_hash(): 270. * ‘password’ (str(6)) – the plaintext password to compare against the hash. @@ -10755,6 +11063,30 @@ File: werkzeug.info, Node: Security Helpers, Next: Logging, Prev: User Agent Return type: bool(7) + -- Function: werkzeug.security.safe_str_cmp (a, b) + + This function compares strings in somewhat constant time. This + requires that the length of at least one string is known in + advance. + + Returns ‘True’ if the two strings are equal, or ‘False’ if they are + not. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + hmac.compare_digest()(8) instead. + + New in version 0.7. + + + Parameters: + + * ‘a’ (str(9)) – + + * ‘b’ (str(10)) – + + + Return type: bool(11) + -- Function: werkzeug.security.safe_join (directory, *pathnames) Safely join zero or more untrusted path components to a base @@ -10763,16 +11095,83 @@ File: werkzeug.info, Node: Security Helpers, Next: Logging, Prev: User Agent Parameters: - * ‘directory’ (str(8)) – The trusted base directory. + * ‘directory’ (str(12)) – The trusted base directory. - * ‘pathnames’ (str(9)) – The untrusted path components relative + * ‘pathnames’ (str(13)) – The untrusted path components relative to the base directory. Returns: A safe path, otherwise ‘None’. - Return type: Optional[str(10)] + Return type: Optional[str(14)] + + -- Function: werkzeug.security.pbkdf2_hex (data, salt, + iterations=260000, keylen=None, hashfunc=None) + + Like *note pbkdf2_bin(): 275, but returns a hex-encoded string. + + + Parameters: + + * ‘data’ (‘Union’‘[’str(15)‘, ’bytes(16)‘]’) – the data to + derive. + + * ‘salt’ (‘Union’‘[’str(17)‘, ’bytes(18)‘]’) – the salt for the + derivation. + + * ‘iterations’ (int(19)) – the number of iterations. + + * ‘keylen’ (‘Optional’‘[’int(20)‘]’) – the length of the + resulting key. If not provided, the digest size will be used. + + * ‘hashfunc’ (‘Optional’‘[’‘Union’‘[’str(21)‘, + ’‘Callable’‘]’‘]’) – the hash function to use. This can + either be the string name of a known hash function, or a + function from the hashlib module. Defaults to sha256. + + + Return type: str(22) + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + hashlib.pbkdf2_hmac()(23) instead. + + New in version 0.9. + + -- Function: werkzeug.security.pbkdf2_bin (data, salt, + iterations=260000, keylen=None, hashfunc=None) + + Returns a binary digest for the PBKDF2 hash algorithm of ‘data’ + with the given ‘salt’. It iterates ‘iterations’ times and produces + a key of ‘keylen’ bytes. By default, SHA-256 is used as hash + function; a different hashlib ‘hashfunc’ can be provided. + + + Parameters: + + * ‘data’ (‘Union’‘[’str(24)‘, ’bytes(25)‘]’) – the data to + derive. + + * ‘salt’ (‘Union’‘[’str(26)‘, ’bytes(27)‘]’) – the salt for the + derivation. + + * ‘iterations’ (int(28)) – the number of iterations. + + * ‘keylen’ (‘Optional’‘[’int(29)‘]’) – the length of the + resulting key. If not provided the digest size will be used. + + * ‘hashfunc’ (‘Optional’‘[’‘Union’‘[’str(30)‘, + ’‘Callable’‘]’‘]’) – the hash function to use. This can + either be the string name of a known hash function or a + function from the hashlib module. Defaults to sha256. + + + Return type: bytes(31) + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + hashlib.pbkdf2_hmac()(32) instead. + + New in version 0.9. ---------- Footnotes ---------- @@ -10790,16 +11189,62 @@ File: werkzeug.info, Node: Security Helpers, Next: Logging, Prev: User Agent (7) https://docs.python.org/3/library/functions.html#bool - (8) https://docs.python.org/3/library/stdtypes.html#str + (8) https://docs.python.org/3/library/hmac.html#hmac.compare_digest (9) https://docs.python.org/3/library/stdtypes.html#str (10) https://docs.python.org/3/library/stdtypes.html#str + (11) https://docs.python.org/3/library/functions.html#bool + + (12) https://docs.python.org/3/library/stdtypes.html#str + + (13) https://docs.python.org/3/library/stdtypes.html#str + + (14) https://docs.python.org/3/library/stdtypes.html#str + + (15) https://docs.python.org/3/library/stdtypes.html#str + + (16) https://docs.python.org/3/library/stdtypes.html#bytes + + (17) https://docs.python.org/3/library/stdtypes.html#str + + (18) https://docs.python.org/3/library/stdtypes.html#bytes + + (19) https://docs.python.org/3/library/functions.html#int + + (20) https://docs.python.org/3/library/functions.html#int + + (21) https://docs.python.org/3/library/stdtypes.html#str + + (22) https://docs.python.org/3/library/stdtypes.html#str + + (23) +https://docs.python.org/3/library/hashlib.html#hashlib.pbkdf2_hmac + + (24) https://docs.python.org/3/library/stdtypes.html#str + + (25) https://docs.python.org/3/library/stdtypes.html#bytes + + (26) https://docs.python.org/3/library/stdtypes.html#str + + (27) https://docs.python.org/3/library/stdtypes.html#bytes + + (28) https://docs.python.org/3/library/functions.html#int + + (29) https://docs.python.org/3/library/functions.html#int + + (30) https://docs.python.org/3/library/stdtypes.html#str + + (31) https://docs.python.org/3/library/stdtypes.html#bytes + + (32) +https://docs.python.org/3/library/hashlib.html#hashlib.pbkdf2_hmac +  File: werkzeug.info, Node: Logging, Prev: Security Helpers, Up: Utilities -3.6.5 Logging +3.7.7 Logging ------------- Werkzeug uses standard Python logging(1). The logger is named @@ -10821,7 +11266,7 @@ https://docs.python.org/3/library/logging.handlers.html#logging.StreamHandler  File: werkzeug.info, Node: URL Helpers<2>, Next: Context Locals, Prev: Utilities, Up: Reference -3.7 URL Helpers +3.8 URL Helpers =============== Functions for working with URLs. @@ -10831,7 +11276,7 @@ bytes and strings. -- Class: werkzeug.urls.BaseURL (scheme, netloc, path, query, fragment) - Superclass of *note URL: 263. and *note BytesURL: 264. + Superclass of *note URL: 279. and *note BytesURL: 27a. Create new instance of _URLTuple(scheme, netloc, path, query, fragment) @@ -10851,7 +11296,7 @@ bytes and strings. -- Property: ascii_host: Optional[str(7)] - Works exactly like *note host: 266. but will return a result + Works exactly like *note host: 27c. but will return a result that is restricted to ASCII. If it finds a netloc that is not ASCII it will attempt to idna decode it. This is useful for socket operations when the URL might include internationalized @@ -10872,9 +11317,9 @@ bytes and strings. -- Method: decode_query (*args, **kwargs) Decodes the query part of the URL. Ths is a shortcut for - calling *note url_decode(): 26a. on the query argument. The + calling *note url_decode(): 280. on the query argument. The arguments and keyword arguments are forwarded to *note - url_decode(): 26a. unchanged. + url_decode(): 280. unchanged. Parameters: @@ -10925,7 +11370,7 @@ bytes and strings. -- Method: join (*args, **kwargs) Joins this URL with another one. This is just a convenience - function for calling into *note url_join(): 26e. and then + function for calling into *note url_join(): 284. and then parsing the return value again. @@ -10936,7 +11381,7 @@ bytes and strings. * ‘kwargs’ (‘Any’) – - Return type: *note werkzeug.urls.BaseURL: 262. + Return type: *note werkzeug.urls.BaseURL: 278. -- Property: password: Optional[str(17)] @@ -10951,12 +11396,12 @@ bytes and strings. -- Property: raw_password: Optional[str(19)] The password if it was part of the URL, ‘None’ otherwise. - Unlike *note password: 26f. this one is not being decoded. + Unlike *note password: 285. this one is not being decoded. -- Property: raw_username: Optional[str(20)] The username if it was part of the URL, ‘None’ otherwise. - Unlike *note username: 273. this one is not being decoded. + Unlike *note username: 289. this one is not being decoded. -- Method: replace (**kwargs) @@ -10968,38 +11413,38 @@ bytes and strings. Parameters: ‘kwargs’ (‘Any’) – - Return type: *note werkzeug.urls.BaseURL: 262. + Return type: *note werkzeug.urls.BaseURL: 278. -- Method: to_iri_tuple () - Returns a *note URL: 263. tuple that holds a IRI. This will + Returns a *note URL: 279. tuple that holds a IRI. This will try to decode as much information as possible in the URL without losing information similar to how a web browser does it for the URL bar. It’s usually more interesting to directly call *note - uri_to_iri(): 276. which will return a string. + uri_to_iri(): 28c. which will return a string. - Return type: *note werkzeug.urls.BaseURL: 262. + Return type: *note werkzeug.urls.BaseURL: 278. -- Method: to_uri_tuple () - Returns a *note BytesURL: 264. tuple that holds a URI. This + Returns a *note BytesURL: 27a. tuple that holds a URI. This will encode all the information in the URL properly to ASCII using the rules a web browser would follow. It’s usually more interesting to directly call *note - iri_to_uri(): 184. which will return a string. + iri_to_uri(): 186. which will return a string. - Return type: *note werkzeug.urls.BaseURL: 262. + Return type: *note werkzeug.urls.BaseURL: 278. -- Method: to_url () Returns a URL string or bytes depending on the type of the information stored. This is just a convenience function for - calling *note url_unparse(): 279. for this URL. + calling *note url_unparse(): 28f. for this URL. Return type: str(21) @@ -11043,7 +11488,7 @@ bytes and strings. * ‘errors’ (str(29)) – - Return type: *note werkzeug.urls.URL: 263. + Return type: *note werkzeug.urls.URL: 279. -- Method: encode_netloc () @@ -11052,6 +11497,61 @@ bytes and strings. Return type: bytes(30) + -- Class: werkzeug.urls.Href (base='./', charset='utf-8', sort=False, + key=None) + + Implements a callable that constructs URLs with the given base. + The function can be called with any number of positional and + keyword arguments which than are used to assemble the URL. Works + with URLs and posix paths. + + Positional arguments are appended as individual segments to the + path of the URL: + + >>> href = Href('/foo') + >>> href('bar', 23) + '/foo/bar/23' + >>> href('foo', bar=23) + '/foo/foo?bar=23' + + If any of the arguments (positional or keyword) evaluates to ‘None’ + it will be skipped. If no keyword arguments are given the last + argument can be a dict(31) or ‘MultiDict’ (or any other dict + subclass), otherwise the keyword arguments are used for the query + parameters, cutting off the first trailing underscore of the + parameter name: + + >>> href(is_=42) + '/foo?is=42' + >>> href({'foo': 'bar'}) + '/foo?foo=bar' + + Combining of both methods is not allowed: + + >>> href({'foo': 'bar'}, bar=42) + Traceback (most recent call last): + ... + TypeError: keyword arguments and query-dicts can't be combined + + Accessing attributes on the href object creates a new href object + with the attribute name as prefix: + + >>> bar_href = href.bar + >>> bar_href("blub") + '/foo/bar/blub' + + If ‘sort’ is set to ‘True’ the items are sorted by ‘key’ or the + default sorting algorithm: + + >>> href = Href("/", sort=True) + >>> href(a=1, b=2, c=3) + '/?a=1&b=2&c=3' + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. Use + *note werkzeug.routing: e. instead. + + New in version 0.5: ‘sort’ and ‘key’ were added. + -- Class: werkzeug.urls.URL (scheme, netloc, path, query, fragment) Represents a parsed URL. This behaves like a regular tuple but also @@ -11063,15 +11563,15 @@ bytes and strings. Parameters: - * ‘scheme’ (str(31)) – + * ‘scheme’ (str(32)) – - * ‘netloc’ (str(32)) – + * ‘netloc’ (str(33)) – - * ‘path’ (str(33)) – + * ‘path’ (str(34)) – - * ‘query’ (str(34)) – + * ‘query’ (str(35)) – - * ‘fragment’ (str(35)) – + * ‘fragment’ (str(36)) – -- Method: encode (charset='utf-8', errors='replace') @@ -11081,12 +11581,12 @@ bytes and strings. Parameters: - * ‘charset’ (str(36)) – + * ‘charset’ (str(37)) – - * ‘errors’ (str(37)) – + * ‘errors’ (str(38)) – - Return type: *note werkzeug.urls.BytesURL: 264. + Return type: *note werkzeug.urls.BytesURL: 27a. -- Function: werkzeug.urls.iri_to_uri (iri, charset='utf-8', errors='strict', safe_conversion=False) @@ -11100,20 +11600,20 @@ bytes and strings. Parameters: - * ‘iri’ (‘Union’‘[’str(38)‘, ’‘Tuple’‘[’str(39)‘, ’str(40)‘, - ’str(41)‘, ’str(42)‘, ’str(43)‘]’‘]’) – The IRI to convert. + * ‘iri’ (‘Union’‘[’str(39)‘, ’‘Tuple’‘[’str(40)‘, ’str(41)‘, + ’str(42)‘, ’str(43)‘, ’str(44)‘]’‘]’) – The IRI to convert. - * ‘charset’ (str(44)) – The encoding of the IRI. + * ‘charset’ (str(45)) – The encoding of the IRI. - * ‘errors’ (str(45)) – Error handler to use during + * ‘errors’ (str(46)) – Error handler to use during ‘bytes.encode’. - * ‘safe_conversion’ (bool(46)) – Return the URL unchanged if it + * ‘safe_conversion’ (bool(47)) – Return the URL unchanged if it only contains ASCII characters and no whitespace. See the explanation below. - Return type: str(47) + Return type: str(48) There is a general problem with IRI conversion with some protocols that are in violation of the URI specification. Consider the @@ -11152,17 +11652,17 @@ bytes and strings. Parameters: - * ‘uri’ (‘Union’‘[’str(48)‘, ’‘Tuple’‘[’str(49)‘, ’str(50)‘, - ’str(51)‘, ’str(52)‘, ’str(53)‘]’‘]’) – The URI to convert. + * ‘uri’ (‘Union’‘[’str(49)‘, ’‘Tuple’‘[’str(50)‘, ’str(51)‘, + ’str(52)‘, ’str(53)‘, ’str(54)‘]’‘]’) – The URI to convert. - * ‘charset’ (str(54)) – The encoding to encode unquoted bytes + * ‘charset’ (str(55)) – The encoding to encode unquoted bytes with. - * ‘errors’ (str(55)) – Error handler to use during + * ‘errors’ (str(56)) – Error handler to use during ‘bytes.encode’. By default, invalid bytes are left quoted. - Return type: str(56) + Return type: str(57) Changed in version 0.15: All reserved and invalid characters remain quoted. Previously, only some reserved characters were preserved, @@ -11171,7 +11671,8 @@ bytes and strings. New in version 0.6. -- Function: werkzeug.urls.url_decode (s, charset='utf-8', - include_empty=True, errors='replace', separator='&', cls=None) + decode_keys=None, include_empty=True, errors='replace', + separator='&', cls=None) Parse a query string and return it as a ‘MultiDict’. @@ -11180,22 +11681,24 @@ bytes and strings. * ‘s’ (‘AnyStr’) – The query string to parse. - * ‘charset’ (str(57)) – Decode bytes to string with this + * ‘charset’ (str(58)) – Decode bytes to string with this charset. If not given, bytes are returned as-is. - * ‘include_empty’ (bool(58)) – Include keys with empty values in + * ‘include_empty’ (bool(59)) – Include keys with empty values in the dict. - * ‘errors’ (str(59)) – Error handling behavior when decoding + * ‘errors’ (str(60)) – Error handling behavior when decoding bytes. - * ‘separator’ (str(60)) – Separator character between pairs. + * ‘separator’ (str(61)) – Separator character between pairs. * ‘cls’ (‘Optional’‘[’‘Type’‘[’‘ds.MultiDict’‘]’‘]’) – Container to hold result instead of ‘MultiDict’. + * ‘decode_keys’ (None(62)) – - Return type: ds.MultiDict[str(61), str(62)] + + Return type: ds.MultiDict[str(63), str(64)] Changed in version 2.0: The ‘decode_keys’ parameter is deprecated and will be removed in Werkzeug 2.1. @@ -11207,40 +11710,44 @@ bytes and strings. Changed in version 0.5: The ‘cls’ parameter was added. -- Function: werkzeug.urls.url_decode_stream (stream, charset='utf-8', - include_empty=True, errors='replace', separator=b'&', - cls=None, limit=None) + decode_keys=None, include_empty=True, errors='replace', + separator=b'&', cls=None, limit=None, return_iterator=False) - Works like *note url_decode(): 26a. but decodes a stream. The + Works like *note url_decode(): 280. but decodes a stream. The behavior of stream and limit follows functions like *note - make_line_iter(): 175. The generator of pairs is directly fed to + make_line_iter(): 177. The generator of pairs is directly fed to the ‘cls’ so you can consume the data while it’s parsed. Parameters: - * ‘stream’ (‘IO’‘[’bytes(63)‘]’) – a stream with the encoded + * ‘stream’ (‘IO’‘[’bytes(65)‘]’) – a stream with the encoded querystring - * ‘charset’ (str(64)) – the charset of the query string. If set + * ‘charset’ (str(66)) – the charset of the query string. If set to ‘None’ no decoding will take place. - * ‘include_empty’ (bool(65)) – Set to ‘False’ if you don’t want + * ‘include_empty’ (bool(67)) – Set to ‘False’ if you don’t want empty values to appear in the dict. - * ‘errors’ (str(66)) – the decoding error behavior. + * ‘errors’ (str(68)) – the decoding error behavior. - * ‘separator’ (bytes(67)) – the pair separator to be used, + * ‘separator’ (bytes(69)) – the pair separator to be used, defaults to ‘&’ * ‘cls’ (‘Optional’‘[’‘Type’‘[’‘ds.MultiDict’‘]’‘]’) – an optional dict class to use. If this is not specified or ‘None’ the default ‘MultiDict’ is used. - * ‘limit’ (‘Optional’‘[’int(68)‘]’) – the content length of the + * ‘limit’ (‘Optional’‘[’int(70)‘]’) – the content length of the URL data. Not necessary if a limited stream is provided. + * ‘decode_keys’ (None(71)) – - Return type: ds.MultiDict[str(69), str(70)] + * ‘return_iterator’ (bool(72)) – + + + Return type: ds.MultiDict[str(73), str(74)] Changed in version 2.0: The ‘decode_keys’ and ‘return_iterator’ parameters are deprecated and will be removed in Werkzeug 2.1. @@ -11248,7 +11755,7 @@ bytes and strings. New in version 0.8. -- Function: werkzeug.urls.url_encode (obj, charset='utf-8', - sort=False, key=None, separator='&') + encode_keys=None, sort=False, key=None, separator='&') URL encode a dict/‘MultiDict’. If a value is ‘None’ it will not appear in the result string. Per default only values are encoded @@ -11257,25 +11764,27 @@ bytes and strings. Parameters: - * ‘obj’ (‘Union’‘[’‘Mapping’‘[’str(71)‘, ’str(72)‘]’‘, - ’‘Iterable’‘[’‘Tuple’‘[’str(73)‘, ’str(74)‘]’‘]’‘]’) – the + * ‘obj’ (‘Union’‘[’‘Mapping’‘[’str(75)‘, ’str(76)‘]’‘, + ’‘Iterable’‘[’‘Tuple’‘[’str(77)‘, ’str(78)‘]’‘]’‘]’) – the object to encode into a query string. - * ‘charset’ (str(75)) – the charset of the query string. + * ‘charset’ (str(79)) – the charset of the query string. - * ‘sort’ (bool(76)) – set to ‘True’ if you want parameters to be + * ‘sort’ (bool(80)) – set to ‘True’ if you want parameters to be sorted by ‘key’. - * ‘separator’ (str(77)) – the separator to be used for the + * ‘separator’ (str(81)) – the separator to be used for the pairs. - * ‘key’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Tuple’‘[’str(78)‘, - ’str(79)‘]’‘]’‘, ’‘Any’‘]’‘]’) – an optional function to be - used for sorting. For more details check out the sorted()(80) + * ‘key’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Tuple’‘[’str(82)‘, + ’str(83)‘]’‘]’‘, ’‘Any’‘]’‘]’) – an optional function to be + used for sorting. For more details check out the sorted()(84) documentation. + * ‘encode_keys’ (None(85)) – - Return type: str(81) + + Return type: str(86) Changed in version 2.0: The ‘encode_keys’ parameter is deprecated and will be removed in Werkzeug 2.1. @@ -11284,39 +11793,42 @@ bytes and strings. parameters. -- Function: werkzeug.urls.url_encode_stream (obj, stream=None, - charset='utf-8', sort=False, key=None, separator='&') + charset='utf-8', encode_keys=None, sort=False, key=None, + separator='&') - Like *note url_encode(): 27e. but writes the results to a stream + Like *note url_encode(): 295. but writes the results to a stream object. If the stream is ‘None’ a generator over all encoded pairs is returned. Parameters: - * ‘obj’ (‘Union’‘[’‘Mapping’‘[’str(82)‘, ’str(83)‘]’‘, - ’‘Iterable’‘[’‘Tuple’‘[’str(84)‘, ’str(85)‘]’‘]’‘]’) – the + * ‘obj’ (‘Union’‘[’‘Mapping’‘[’str(87)‘, ’str(88)‘]’‘, + ’‘Iterable’‘[’‘Tuple’‘[’str(89)‘, ’str(90)‘]’‘]’‘]’) – the object to encode into a query string. - * ‘stream’ (‘Optional’‘[’‘IO’‘[’str(86)‘]’‘]’) – a stream to + * ‘stream’ (‘Optional’‘[’‘IO’‘[’str(91)‘]’‘]’) – a stream to write the encoded object into or ‘None’ if an iterator over the encoded pairs should be returned. In that case the separator argument is ignored. - * ‘charset’ (str(87)) – the charset of the query string. + * ‘charset’ (str(92)) – the charset of the query string. - * ‘sort’ (bool(88)) – set to ‘True’ if you want parameters to be + * ‘sort’ (bool(93)) – set to ‘True’ if you want parameters to be sorted by ‘key’. - * ‘separator’ (str(89)) – the separator to be used for the + * ‘separator’ (str(94)) – the separator to be used for the pairs. - * ‘key’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Tuple’‘[’str(90)‘, - ’str(91)‘]’‘]’‘, ’‘Any’‘]’‘]’) – an optional function to be - used for sorting. For more details check out the sorted()(92) + * ‘key’ (‘Optional’‘[’‘Callable’‘[’‘[’‘Tuple’‘[’str(95)‘, + ’str(96)‘]’‘]’‘, ’‘Any’‘]’‘]’) – an optional function to be + used for sorting. For more details check out the sorted()(97) documentation. + * ‘encode_keys’ (None(98)) – - Return type: None(93) + + Return type: None(99) Changed in version 2.0: The ‘encode_keys’ parameter is deprecated and will be removed in Werkzeug 2.1. @@ -11336,13 +11848,13 @@ bytes and strings. Parameters: - * ‘s’ (str(94)) – the string with the URL to fix. + * ‘s’ (str(100)) – the string with the URL to fix. - * ‘charset’ (str(95)) – The target charset for the URL if the + * ‘charset’ (str(101)) – The target charset for the URL if the url was given as a string. - Return type: str(96) + Return type: str(102) -- Function: werkzeug.urls.url_join (base, url, allow_fragments=True) @@ -11352,42 +11864,42 @@ bytes and strings. Parameters: - * ‘base’ (‘Union’‘[’str(97)‘, ’‘Tuple’‘[’str(98)‘, ’str(99)‘, - ’str(100)‘, ’str(101)‘, ’str(102)‘]’‘]’) – the base URL for + * ‘base’ (‘Union’‘[’str(103)‘, ’‘Tuple’‘[’str(104)‘, ’str(105)‘, + ’str(106)‘, ’str(107)‘, ’str(108)‘]’‘]’) – the base URL for the join operation. - * ‘url’ (‘Union’‘[’str(103)‘, ’‘Tuple’‘[’str(104)‘, ’str(105)‘, - ’str(106)‘, ’str(107)‘, ’str(108)‘]’‘]’) – the URL to join. + * ‘url’ (‘Union’‘[’str(109)‘, ’‘Tuple’‘[’str(110)‘, ’str(111)‘, + ’str(112)‘, ’str(113)‘, ’str(114)‘]’‘]’) – the URL to join. - * ‘allow_fragments’ (bool(109)) – indicates whether fragments + * ‘allow_fragments’ (bool(115)) – indicates whether fragments should be allowed. - Return type: str(110) + Return type: str(116) -- Function: werkzeug.urls.url_parse (url, scheme=None, allow_fragments=True) - Parses a URL from a string into a *note URL: 263. tuple. If the + Parses a URL from a string into a *note URL: 279. tuple. If the URL is lacking a scheme it can be provided as second argument. Otherwise, it is ignored. Optionally fragments can be stripped from the URL by setting ‘allow_fragments’ to ‘False’. - The inverse of this function is *note url_unparse(): 279. + The inverse of this function is *note url_unparse(): 28f. Parameters: - * ‘url’ (str(111)) – the URL to parse. + * ‘url’ (str(117)) – the URL to parse. - * ‘scheme’ (‘Optional’‘[’str(112)‘]’) – the default schema to + * ‘scheme’ (‘Optional’‘[’str(118)‘]’) – the default schema to use if the URL is schemaless. - * ‘allow_fragments’ (bool(113)) – if set to ‘False’ a fragment + * ‘allow_fragments’ (bool(119)) – if set to ‘False’ a fragment will be removed from the URL. - Return type: *note werkzeug.urls.BaseURL: 262. + Return type: *note werkzeug.urls.BaseURL: 278. -- Function: werkzeug.urls.url_quote (string, charset='utf-8', errors='strict', safe='/:', unsafe='') @@ -11399,20 +11911,20 @@ bytes and strings. * ‘s’ – the string to quote. - * ‘charset’ (str(114)) – the charset to be used. + * ‘charset’ (str(120)) – the charset to be used. - * ‘safe’ (‘Union’‘[’str(115)‘, ’bytes(116)‘]’) – an optional + * ‘safe’ (‘Union’‘[’str(121)‘, ’bytes(122)‘]’) – an optional sequence of safe characters. - * ‘unsafe’ (‘Union’‘[’str(117)‘, ’bytes(118)‘]’) – an optional + * ‘unsafe’ (‘Union’‘[’str(123)‘, ’bytes(124)‘]’) – an optional sequence of unsafe characters. - * ‘string’ (‘Union’‘[’str(119)‘, ’bytes(120)‘]’) – + * ‘string’ (‘Union’‘[’str(125)‘, ’bytes(126)‘]’) – - * ‘errors’ (str(121)) – + * ‘errors’ (str(127)) – - Return type: str(122) + Return type: str(128) New in version 0.9.2: The ‘unsafe’ parameter was added. @@ -11427,31 +11939,31 @@ bytes and strings. * ‘s’ – The string to quote. - * ‘charset’ (str(123)) – The charset to be used. + * ‘charset’ (str(129)) – The charset to be used. - * ‘safe’ (str(124)) – An optional sequence of safe characters. + * ‘safe’ (str(130)) – An optional sequence of safe characters. - * ‘string’ (str(125)) – + * ‘string’ (str(131)) – - * ‘errors’ (str(126)) – - - - Return type: str(127) - - -- Function: werkzeug.urls.url_unparse (components) - - The reverse operation to *note url_parse(): 281. This accepts - arbitrary as well as *note URL: 263. tuples and returns a URL as a - string. - - - Parameters: ‘components’ (‘Tuple’‘[’str(128)‘, ’str(129)‘, - ’str(130)‘, ’str(131)‘, ’str(132)‘]’) – the parsed URL as tuple - which should be converted into a URL string. + * ‘errors’ (str(132)) – Return type: str(133) + -- Function: werkzeug.urls.url_unparse (components) + + The reverse operation to *note url_parse(): 298. This accepts + arbitrary as well as *note URL: 279. tuples and returns a URL as a + string. + + + Parameters: ‘components’ (‘Tuple’‘[’str(134)‘, ’str(135)‘, + ’str(136)‘, ’str(137)‘, ’str(138)‘]’) – the parsed URL as tuple + which should be converted into a URL string. + + + Return type: str(139) + -- Function: werkzeug.urls.url_unquote (s, charset='utf-8', errors='replace', unsafe='') @@ -11462,19 +11974,19 @@ bytes and strings. Parameters: - * ‘s’ (‘Union’‘[’str(134)‘, ’bytes(135)‘]’) – the string to + * ‘s’ (‘Union’‘[’str(140)‘, ’bytes(141)‘]’) – the string to unquote. - * ‘charset’ (str(136)) – the charset of the query string. If + * ‘charset’ (str(142)) – the charset of the query string. If set to ‘None’ no decoding will take place. - * ‘errors’ (str(137)) – the error handling for the charset + * ‘errors’ (str(143)) – the error handling for the charset decoding. - * ‘unsafe’ (str(138)) – + * ‘unsafe’ (str(144)) – - Return type: str(139) + Return type: str(145) -- Function: werkzeug.urls.url_unquote_plus (s, charset='utf-8', errors='replace') @@ -11488,17 +12000,17 @@ bytes and strings. Parameters: - * ‘s’ (‘Union’‘[’str(140)‘, ’bytes(141)‘]’) – The string to + * ‘s’ (‘Union’‘[’str(146)‘, ’bytes(147)‘]’) – The string to unquote. - * ‘charset’ (str(142)) – the charset of the query string. If + * ‘charset’ (str(148)) – the charset of the query string. If set to ‘None’ no decoding will take place. - * ‘errors’ (str(143)) – The error handling for the ‘charset’ + * ‘errors’ (str(149)) – The error handling for the ‘charset’ decoding. - Return type: str(144) + Return type: str(150) ---------- Footnotes ---------- @@ -11563,7 +12075,7 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (30) https://docs.python.org/3/library/stdtypes.html#bytes - (31) https://docs.python.org/3/library/stdtypes.html#str + (31) https://docs.python.org/3/library/stdtypes.html#dict (32) https://docs.python.org/3/library/stdtypes.html#str @@ -11593,9 +12105,9 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (45) https://docs.python.org/3/library/stdtypes.html#str - (46) https://docs.python.org/3/library/functions.html#bool + (46) https://docs.python.org/3/library/stdtypes.html#str - (47) https://docs.python.org/3/library/stdtypes.html#str + (47) https://docs.python.org/3/library/functions.html#bool (48) https://docs.python.org/3/library/stdtypes.html#str @@ -11617,35 +12129,35 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (57) https://docs.python.org/3/library/stdtypes.html#str - (58) https://docs.python.org/3/library/functions.html#bool + (58) https://docs.python.org/3/library/stdtypes.html#str - (59) https://docs.python.org/3/library/stdtypes.html#str + (59) https://docs.python.org/3/library/functions.html#bool (60) https://docs.python.org/3/library/stdtypes.html#str (61) https://docs.python.org/3/library/stdtypes.html#str - (62) https://docs.python.org/3/library/stdtypes.html#str + (62) https://docs.python.org/3/library/constants.html#None - (63) https://docs.python.org/3/library/stdtypes.html#bytes + (63) https://docs.python.org/3/library/stdtypes.html#str (64) https://docs.python.org/3/library/stdtypes.html#str - (65) https://docs.python.org/3/library/functions.html#bool + (65) https://docs.python.org/3/library/stdtypes.html#bytes (66) https://docs.python.org/3/library/stdtypes.html#str - (67) https://docs.python.org/3/library/stdtypes.html#bytes + (67) https://docs.python.org/3/library/functions.html#bool - (68) https://docs.python.org/3/library/functions.html#int + (68) https://docs.python.org/3/library/stdtypes.html#str - (69) https://docs.python.org/3/library/stdtypes.html#str + (69) https://docs.python.org/3/library/stdtypes.html#bytes - (70) https://docs.python.org/3/library/stdtypes.html#str + (70) https://docs.python.org/3/library/functions.html#int - (71) https://docs.python.org/3/library/stdtypes.html#str + (71) https://docs.python.org/3/library/constants.html#None - (72) https://docs.python.org/3/library/stdtypes.html#str + (72) https://docs.python.org/3/library/functions.html#bool (73) https://docs.python.org/3/library/stdtypes.html#str @@ -11653,7 +12165,7 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (75) https://docs.python.org/3/library/stdtypes.html#str - (76) https://docs.python.org/3/library/functions.html#bool + (76) https://docs.python.org/3/library/stdtypes.html#str (77) https://docs.python.org/3/library/stdtypes.html#str @@ -11661,7 +12173,7 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (79) https://docs.python.org/3/library/stdtypes.html#str - (80) https://docs.python.org/3/library/functions.html#sorted + (80) https://docs.python.org/3/library/functions.html#bool (81) https://docs.python.org/3/library/stdtypes.html#str @@ -11669,15 +12181,15 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (83) https://docs.python.org/3/library/stdtypes.html#str - (84) https://docs.python.org/3/library/stdtypes.html#str + (84) https://docs.python.org/3/library/functions.html#sorted - (85) https://docs.python.org/3/library/stdtypes.html#str + (85) https://docs.python.org/3/library/constants.html#None (86) https://docs.python.org/3/library/stdtypes.html#str (87) https://docs.python.org/3/library/stdtypes.html#str - (88) https://docs.python.org/3/library/functions.html#bool + (88) https://docs.python.org/3/library/stdtypes.html#str (89) https://docs.python.org/3/library/stdtypes.html#str @@ -11685,9 +12197,9 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (91) https://docs.python.org/3/library/stdtypes.html#str - (92) https://docs.python.org/3/library/functions.html#sorted + (92) https://docs.python.org/3/library/stdtypes.html#str - (93) https://docs.python.org/3/library/constants.html#None + (93) https://docs.python.org/3/library/functions.html#bool (94) https://docs.python.org/3/library/stdtypes.html#str @@ -11695,11 +12207,11 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (96) https://docs.python.org/3/library/stdtypes.html#str - (97) https://docs.python.org/3/library/stdtypes.html#str + (97) https://docs.python.org/3/library/functions.html#sorted - (98) https://docs.python.org/3/library/stdtypes.html#str + (98) https://docs.python.org/3/library/constants.html#None - (99) https://docs.python.org/3/library/stdtypes.html#str + (99) https://docs.python.org/3/library/constants.html#None (100) https://docs.python.org/3/library/stdtypes.html#str @@ -11719,7 +12231,7 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (108) https://docs.python.org/3/library/stdtypes.html#str - (109) https://docs.python.org/3/library/functions.html#bool + (109) https://docs.python.org/3/library/stdtypes.html#str (110) https://docs.python.org/3/library/stdtypes.html#str @@ -11727,33 +12239,33 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (112) https://docs.python.org/3/library/stdtypes.html#str - (113) https://docs.python.org/3/library/functions.html#bool + (113) https://docs.python.org/3/library/stdtypes.html#str (114) https://docs.python.org/3/library/stdtypes.html#str - (115) https://docs.python.org/3/library/stdtypes.html#str + (115) https://docs.python.org/3/library/functions.html#bool - (116) https://docs.python.org/3/library/stdtypes.html#bytes + (116) https://docs.python.org/3/library/stdtypes.html#str (117) https://docs.python.org/3/library/stdtypes.html#str - (118) https://docs.python.org/3/library/stdtypes.html#bytes + (118) https://docs.python.org/3/library/stdtypes.html#str - (119) https://docs.python.org/3/library/stdtypes.html#str + (119) https://docs.python.org/3/library/functions.html#bool - (120) https://docs.python.org/3/library/stdtypes.html#bytes + (120) https://docs.python.org/3/library/stdtypes.html#str (121) https://docs.python.org/3/library/stdtypes.html#str - (122) https://docs.python.org/3/library/stdtypes.html#str + (122) https://docs.python.org/3/library/stdtypes.html#bytes (123) https://docs.python.org/3/library/stdtypes.html#str - (124) https://docs.python.org/3/library/stdtypes.html#str + (124) https://docs.python.org/3/library/stdtypes.html#bytes (125) https://docs.python.org/3/library/stdtypes.html#str - (126) https://docs.python.org/3/library/stdtypes.html#str + (126) https://docs.python.org/3/library/stdtypes.html#bytes (127) https://docs.python.org/3/library/stdtypes.html#str @@ -11771,7 +12283,7 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (134) https://docs.python.org/3/library/stdtypes.html#str - (135) https://docs.python.org/3/library/stdtypes.html#bytes + (135) https://docs.python.org/3/library/stdtypes.html#str (136) https://docs.python.org/3/library/stdtypes.html#str @@ -11791,10 +12303,22 @@ https://docs.python.org/3/library/urllib.parse.html#module-urllib.parse (144) https://docs.python.org/3/library/stdtypes.html#str + (145) https://docs.python.org/3/library/stdtypes.html#str + + (146) https://docs.python.org/3/library/stdtypes.html#str + + (147) https://docs.python.org/3/library/stdtypes.html#bytes + + (148) https://docs.python.org/3/library/stdtypes.html#str + + (149) https://docs.python.org/3/library/stdtypes.html#str + + (150) https://docs.python.org/3/library/stdtypes.html#str +  File: werkzeug.info, Node: Context Locals, Next: Middleware, Prev: URL Helpers<2>, Up: Reference -3.8 Context Locals +3.9 Context Locals ================== Sooner or later you have some things you want to have in every single @@ -11874,7 +12398,7 @@ for this context. False With this function one can release ‘Local’ objects as well as *note - LocalStack: 289. objects. However it is not possible to release + LocalStack: 2a0. objects. However it is not possible to release data held by proxies that way, one always has to retain a reference to the underlying local object in order to be able to release it. @@ -11882,12 +12406,12 @@ for this context. Parameters: ‘local’ (‘Union’‘[’‘werkzeug.local.Local’‘, ’*note - werkzeug.local.LocalStack: 289.‘]’) – + werkzeug.local.LocalStack: 2a0.‘]’) – Return type: None(1) - -- Class: werkzeug.local.LocalManager (locals=None) + -- Class: werkzeug.local.LocalManager (locals=None, ident_func=None) Local objects cannot manage themselves. For that you need a local manager. You can pass a local manager multiple locals or add them @@ -11900,16 +12424,20 @@ for this context. Changed in version 0.7: The ‘ident_func’ parameter was added. - Changed in version 0.6.1: The *note release_local(): 288. function + Changed in version 0.6.1: The *note release_local(): 29f. function can be used instead of a manager. - Parameters: ‘locals’ - (‘Optional’‘[’‘Iterable’‘[’‘Union’‘[’‘werkzeug.local.Local’‘, - ’*note werkzeug.local.LocalStack: 289.‘]’‘]’‘]’) – + Parameters: + + * ‘locals’ + (‘Optional’‘[’‘Iterable’‘[’‘Union’‘[’‘werkzeug.local.Local’‘, + ’*note werkzeug.local.LocalStack: 2a0.‘]’‘]’‘]’) – + + * ‘ident_func’ (None(2)) – - Return type: None(2) + Return type: None(3) -- Method: cleanup () @@ -11918,7 +12446,23 @@ for this context. ‘make_middleware()’. - Return type: None(3) + Return type: None(4) + + -- Method: get_ident () + + Return the context identifier the local objects use internally + for this context. You cannot override this method to change + the behavior but use it to link other context local objects + (such as SQLAlchemy’s scoped sessions) to the Werkzeug locals. + + Deprecated since version 2.0: Will be removed in Werkzeug 2.1. + + Changed in version 0.7: You can pass a different ident + function to the local manager that will then be propagated to + all the locals passed to the constructor. + + + Return type: int(5) -- Method: make_middleware (app) @@ -11968,8 +12512,8 @@ for this context. >>> ls.top 42 - They can be force released by using a *note LocalManager: 28a. or - with the *note release_local(): 288. function but the correct way + They can be force released by using a *note LocalManager: 2a1. or + with the *note release_local(): 29f. function but the correct way is to pop the item from the stack after using. When the stack is empty it will no longer be bound to the current context (and as such released). @@ -11980,7 +12524,7 @@ for this context. New in version 0.6.1. - Return type: None(4) + Return type: None(6) -- Method: pop () @@ -12009,7 +12553,7 @@ for this context. A proxy to the object bound to a ‘Local’. All operations on the proxy are forwarded to the bound object. If no object is bound, a - RuntimeError(5) is raised. + RuntimeError(7) is raised. from werkzeug.local import Local l = Local() @@ -12069,13 +12613,17 @@ for this context. (4) https://docs.python.org/3/library/constants.html#None - (5) https://docs.python.org/3/library/exceptions.html#RuntimeError + (5) https://docs.python.org/3/library/functions.html#int + + (6) https://docs.python.org/3/library/constants.html#None + + (7) https://docs.python.org/3/library/exceptions.html#RuntimeError  File: werkzeug.info, Node: Middleware, Next: HTTP Exceptions, Prev: Context Locals, Up: Reference -3.9 Middleware -============== +3.10 Middleware +=============== A WSGI middleware is a WSGI application that wraps another application in order to observe or change its behavior. Werkzeug provides some @@ -12093,8 +12641,8 @@ middleware for common use cases.  File: werkzeug.info, Node: X-Forwarded-For Proxy Fix, Next: Serve Shared Static Files, Up: Middleware -3.9.1 X-Forwarded-For Proxy Fix -------------------------------- +3.10.1 X-Forwarded-For Proxy Fix +-------------------------------- This module provides a middleware that adjusts the WSGI environ based on ‘X-Forwarded-’ headers that proxies in front of an application may set. @@ -12201,8 +12749,8 @@ setting each header so the middleware knows what to trust.  File: werkzeug.info, Node: Serve Shared Static Files, Next: Application Dispatcher, Prev: X-Forwarded-For Proxy Fix, Up: Middleware -3.9.2 Serve Shared Static Files -------------------------------- +3.10.2 Serve Shared Static Files +-------------------------------- -- Class: werkzeug.middleware.shared_data.SharedDataMiddleware (app, exports, disallow=None, cache=True, cache_timeout=43200, @@ -12333,8 +12881,8 @@ File: werkzeug.info, Node: Serve Shared Static Files, Next: Application Dispat  File: werkzeug.info, Node: Application Dispatcher, Next: Basic HTTP Proxy, Prev: Serve Shared Static Files, Up: Middleware -3.9.3 Application Dispatcher ----------------------------- +3.10.3 Application Dispatcher +----------------------------- This middleware creates a single WSGI application that dispatches to multiple other WSGI applications mounted at different URL paths. @@ -12387,8 +12935,8 @@ and the static files would be served directly by the HTTP server.  File: werkzeug.info, Node: Basic HTTP Proxy, Next: WSGI Protocol Linter, Prev: Application Dispatcher, Up: Middleware -3.9.4 Basic HTTP Proxy ----------------------- +3.10.4 Basic HTTP Proxy +----------------------- -- Class: werkzeug.middleware.http_proxy.ProxyMiddleware (app, targets, chunk_size=16384, timeout=10) @@ -12488,8 +13036,8 @@ File: werkzeug.info, Node: Basic HTTP Proxy, Next: WSGI Protocol Linter, Prev  File: werkzeug.info, Node: WSGI Protocol Linter, Next: Application Profiler, Prev: Basic HTTP Proxy, Up: Middleware -3.9.5 WSGI Protocol Linter --------------------------- +3.10.5 WSGI Protocol Linter +--------------------------- This module provides a middleware that performs sanity checks on the behavior of the WSGI server and application. It checks that the PEP @@ -12540,8 +13088,8 @@ HTTP errors such as non-empty responses for 304 status codes.  File: werkzeug.info, Node: Application Profiler, Prev: WSGI Protocol Linter, Up: Middleware -3.9.6 Application Profiler --------------------------- +3.10.6 Application Profiler +--------------------------- This module provides a middleware that profiles each request with the cProfile(1) module. This can help identify bottlenecks in your code @@ -12610,9 +13158,9 @@ that may be slowing down your application. New in version 0.9: Added ‘restrictions’ and ‘profile_dir’. -The *note interactive debugger: 8b. is also a middleware that can be +The *note interactive debugger: 8c. is also a middleware that can be applied manually, although it is typically used automatically with the -*note development server: 44. +*note development server: 45. ---------- Footnotes ---------- @@ -12649,7 +13197,7 @@ https://docs.python.org/3/library/profile.html#pstats.Stats.print_stats  File: werkzeug.info, Node: HTTP Exceptions, Prev: Middleware, Up: Reference -3.10 HTTP Exceptions +3.11 HTTP Exceptions ==================== Implements a number of Python exceptions which can be raised from within @@ -12667,7 +13215,7 @@ a view to trigger a standard HTTP non-200 response.  File: werkzeug.info, Node: Usage Example, Next: Error Classes, Up: HTTP Exceptions -3.10.1 Usage Example +3.11.1 Usage Example -------------------- from werkzeug.wrappers.request import Request @@ -12706,7 +13254,7 @@ code, you can add a second except for a specific subclass of an error:  File: werkzeug.info, Node: Error Classes, Next: Baseclass, Prev: Usage Example, Up: HTTP Exceptions -3.10.2 Error Classes +3.11.2 Error Classes -------------------- The following error classes exist in Werkzeug: @@ -12724,7 +13272,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(1)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(2) @@ -12738,7 +13286,7 @@ The following error classes exist in Werkzeug: The ‘www_authenticate’ argument should be used to set the ‘WWW-Authenticate’ header. This is used for HTTP basic auth and - other schemes. Use *note WWWAuthenticate: 140. to create correctly + other schemes. Use *note WWWAuthenticate: 142. to create correctly formatted values. Strictly speaking a 401 response is invalid if it doesn’t provide at least one value for this header, although real clients typically don’t care. @@ -12752,11 +13300,11 @@ The following error classes exist in Werkzeug: * ‘www-authenticate’ – A single value, or list of values, for the WWW-Authenticate header(s). - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – * ‘www_authenticate’ (‘Optional’‘[’‘Union’‘[’*note - WWWAuthenticate: 140.‘, ’‘Iterable’‘[’*note WWWAuthenticate: - 140.‘]’‘]’‘]’) – + WWWAuthenticate: 142.‘, ’‘Iterable’‘[’*note WWWAuthenticate: + 142.‘]’‘]’‘]’) – Return type: None(4) @@ -12789,7 +13337,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(5)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(6) @@ -12806,7 +13354,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(7)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(8) @@ -12835,7 +13383,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(10)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(11) @@ -12853,7 +13401,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(12)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(13) @@ -12870,7 +13418,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(14)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(15) @@ -12890,7 +13438,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(16)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(17) @@ -12908,7 +13456,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(18)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(19) @@ -12926,7 +13474,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(20)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(21) @@ -12944,7 +13492,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(22)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(23) @@ -12962,7 +13510,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(24)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(25) @@ -12979,7 +13527,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(26)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(27) @@ -12997,7 +13545,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(28)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(29) @@ -13023,7 +13571,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(32)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(33) @@ -13043,7 +13591,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(34)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(35) @@ -13063,7 +13611,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(36)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(37) @@ -13081,7 +13629,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(38)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(39) @@ -13098,7 +13646,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(40)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(41) @@ -13117,7 +13665,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(42)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(43) @@ -13140,7 +13688,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(44)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(45) @@ -13166,7 +13714,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(50)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(51) @@ -13187,7 +13735,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(52)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(53) @@ -13205,7 +13753,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(54)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(55) @@ -13218,7 +13766,7 @@ The following error classes exist in Werkzeug: Raise if an internal server error occurred. This is a good fallback if an unknown error occurred in the dispatcher. - Changed in version 1.0.0: Added the *note original_exception: 2c0. + Changed in version 1.0.0: Added the *note original_exception: 2d8. attribute. @@ -13226,7 +13774,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(56)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – * ‘original_exception’ (‘Optional’‘[’BaseException(57)‘]’) – @@ -13252,7 +13800,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(59)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(60) @@ -13271,7 +13819,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(61)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(62) @@ -13294,7 +13842,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(67)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(68) @@ -13314,7 +13862,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(69)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(70) @@ -13332,7 +13880,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(71)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(72) @@ -13358,7 +13906,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(73)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(74) @@ -13376,7 +13924,7 @@ The following error classes exist in Werkzeug: * ‘description’ (‘Optional’‘[’str(75)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(76) @@ -13542,7 +14090,7 @@ https://docs.python.org/3/library/datetime.html#datetime.datetime  File: werkzeug.info, Node: Baseclass, Next: Special HTTP Exceptions, Prev: Error Classes, Up: HTTP Exceptions -3.10.3 Baseclass +3.11.3 Baseclass ---------------- All the exceptions implement this common interface: @@ -13555,14 +14103,12 @@ All the exceptions implement this common interface: can catch the subclasses of it independently and render nicer error messages. - Changed in version 2.1: Removed the ‘wrap’ class method. - Parameters: * ‘description’ (‘Optional’‘[’str(1)‘]’) – - * ‘response’ (‘Optional’‘[’*note Response: 5e.‘]’) – + * ‘response’ (‘Optional’‘[’*note Response: 5f.‘]’) – Return type: None(2) @@ -13590,10 +14136,10 @@ All the exceptions implement this common interface: Parameters: - * ‘environ’ (‘Optional’‘[’‘Union’‘[’‘WSGIEnvironment’‘, - ’‘WSGIRequest’‘]’‘]’) – the optional environ for the - request. This can be used to modify the response - depending on how the request looked like. + * ‘environ’ (‘Optional’‘[’‘WSGIEnvironment’‘]’) – the + optional environ for the request. This can be used to + modify the response depending on how the request looked + like. * ‘scope’ (‘Optional’‘[’dict(4)‘]’) – @@ -13601,7 +14147,7 @@ All the exceptions implement this common interface: Returns: a ‘Response’ object or a subclass thereof. - Return type: *note Response: 5e. + Return type: *note Response: 5f. ---------- Footnotes ---------- @@ -13616,12 +14162,12 @@ All the exceptions implement this common interface:  File: werkzeug.info, Node: Special HTTP Exceptions, Next: Simple Aborting, Prev: Baseclass, Up: HTTP Exceptions -3.10.4 Special HTTP Exceptions +3.11.4 Special HTTP Exceptions ------------------------------ Starting with Werkzeug 0.3 some of the builtin classes raise exceptions that look like regular python exceptions (eg KeyError(1)) but are *note -BadRequest: e0. HTTP exceptions at the same time. This decision was +BadRequest: e2. HTTP exceptions at the same time. This decision was made to simplify a common pattern where you want to abort if the client tampered with the submitted form data in a way that the application can’t recover properly and should abort with ‘400 BAD REQUEST’. @@ -13637,13 +14183,13 @@ to check if the keys exist: If ‘title’ or ‘body’ are missing in the form, a special key error will be raised which behaves like a KeyError(2) but also a *note BadRequest: -e0. exception. +e2. exception. -- Exception: werkzeug.exceptions.BadRequestKeyError (arg=None, *args, **kwargs) An exception that is used to signal both a KeyError(3) and a *note - BadRequest: e0. Used by many of the datastructures. + BadRequest: e2. Used by many of the datastructures. Parameters: @@ -13667,16 +14213,16 @@ e0. exception.  File: werkzeug.info, Node: Simple Aborting, Next: Custom Errors, Prev: Special HTTP Exceptions, Up: HTTP Exceptions -3.10.5 Simple Aborting +3.11.5 Simple Aborting ---------------------- Sometimes it’s convenient to just raise an exception by the error code, without importing the exception and looking up the name etc. For this -purpose there is the *note abort(): 2cc. function. +purpose there is the *note abort(): 2e4. function. -- Function: werkzeug.exceptions.abort (status, *args, **kwargs) - Raises an *note HTTPException: 32. for the given status code or + Raises an *note HTTPException: 33. for the given status code or WSGI application. If a status code is given, it will be looked up in the list of @@ -13690,7 +14236,7 @@ purpose there is the *note abort(): 2cc. function. Parameters: - * ‘status’ (‘Union’‘[’int(1)‘, ’*note Response: 5e.‘]’) – + * ‘status’ (‘Union’‘[’int(1)‘, ’*note Response: 5f.‘]’) – * ‘args’ (‘Any’) – @@ -13716,10 +14262,10 @@ create an instance of the aborter class: Parameters: * ‘mapping’ (‘Optional’‘[’‘Dict’‘[’int(2)‘, ’‘Type’‘[’*note - werkzeug.exceptions.HTTPException: 32.‘]’‘]’‘]’) – + werkzeug.exceptions.HTTPException: 33.‘]’‘]’‘]’) – * ‘extra’ (‘Optional’‘[’‘Dict’‘[’int(3)‘, ’‘Type’‘[’*note - werkzeug.exceptions.HTTPException: 32.‘]’‘]’‘]’) – + werkzeug.exceptions.HTTPException: 33.‘]’‘]’‘]’) – Return type: None(4) @@ -13737,7 +14283,7 @@ create an instance of the aborter class:  File: werkzeug.info, Node: Custom Errors, Prev: Simple Aborting, Up: HTTP Exceptions -3.10.6 Custom Errors +3.11.6 Custom Errors -------------------- As you can see from the list above not all status codes are available as @@ -13746,7 +14292,7 @@ represent errors are missing. For redirects you can use the ‘redirect()’ function from the utilities. If you want to add an error yourself you can subclass *note -HTTPException: 32.: +HTTPException: 33.: from werkzeug.exceptions import HTTPException @@ -13757,7 +14303,7 @@ HTTPException: 32.: This is the minimal code you need for your own exception. If you want to add more logic to the errors you can override the ‘get_description()’, ‘get_body()’, ‘get_headers()’ and *note -get_response(): 2c8. methods. In any case you should have a look at the +get_response(): 2e0. methods. In any case you should have a look at the sourcecode of the exceptions module. You can override the default description in the constructor with the @@ -14163,7 +14709,7 @@ It looks something along these lines: If you now start the file the server will listen on ‘localhost:8080’. Keep in mind that WSGI applications behave slightly different for proxied setups. If you have not developed your application for proxying -in mind, you can apply the *note ProxyFix: 297. middleware. +in mind, you can apply the *note ProxyFix: 2af. middleware.  File: werkzeug.info, Node: Configuring nginx<2>, Prev: Creating a py server, Up: HTTP Proxying @@ -14200,6 +14746,7 @@ File: werkzeug.info, Node: Additional Information, Next: Python Module Index, * Important Terms:: * Unicode:: +* The Filesystem:: * Dealing with Request Data:: * BSD-3-Clause License:: * Changes:: @@ -14270,7 +14817,7 @@ request object (and optionally some parameters from an URL rule) and returns a response object.  -File: werkzeug.info, Node: Unicode, Next: Dealing with Request Data, Prev: Important Terms, Up: Additional Information +File: werkzeug.info, Node: Unicode, Next: The Filesystem, Prev: Important Terms, Up: Additional Information 5.2 Unicode =========== @@ -14346,7 +14893,7 @@ File: werkzeug.info, Node: Request and Response Objects, Prev: Error Handling, In most cases, you should stick with Werkzeug’s default encoding of UTF-8. If you have a specific reason to, you can subclass *note -wrappers.Request: 71. and *note wrappers.Response: 5e. to change the +wrappers.Request: 72. and *note wrappers.Response: 5f. to change the encoding and error handling. from werkzeug.wrappers.request import Request @@ -14365,9 +14912,34 @@ responsibility to not create data that is not present in the target charset. This is not an issue for UTF-8.  -File: werkzeug.info, Node: Dealing with Request Data, Next: BSD-3-Clause License, Prev: Unicode, Up: Additional Information +File: werkzeug.info, Node: The Filesystem, Next: Dealing with Request Data, Prev: Unicode, Up: Additional Information -5.3 Dealing with Request Data +5.3 The Filesystem +================== + +Changed in version 0.11. + +Several bug reports against Werkzeug have shown that the value of +sys.getfilesystemencoding()(1) cannot be trusted under traditional UNIX +systems. Usually this occurs due to a misconfigured system where ‘LANG’ +and similar environment variables are not set. In such cases, Python +defaults to ASCII as the filesystem encoding, a very conservative +default that is usually wrong and causes more problems than it avoids. + +If Werkzeug detects it’s running in a misconfigured environment, it will +assume the filesystem encoding is ‘UTF-8’ and issue a warning. + +See *note werkzeug.filesystem: 3. + + ---------- Footnotes ---------- + + (1) +https://docs.python.org/3/library/sys.html#sys.getfilesystemencoding + + +File: werkzeug.info, Node: Dealing with Request Data, Next: BSD-3-Clause License, Prev: The Filesystem, Up: Additional Information + +5.4 Dealing with Request Data ============================= The most important rule about web development is “Do not trust the @@ -14387,7 +14959,7 @@ from the most prominent problems with it.  File: werkzeug.info, Node: Missing EOF Marker on Input Stream, Next: When does Werkzeug Parse?, Up: Dealing with Request Data -5.3.1 Missing EOF Marker on Input Stream +5.4.1 Missing EOF Marker on Input Stream ---------------------------------------- The input stream has no end-of-file marker. If you would call the @@ -14402,7 +14974,7 @@ stream.  File: werkzeug.info, Node: When does Werkzeug Parse?, Next: How does it Parse?, Prev: Missing EOF Marker on Input Stream, Up: Dealing with Request Data -5.3.2 When does Werkzeug Parse? +5.4.2 When does Werkzeug Parse? ------------------------------- Werkzeug parses the incoming data under the following situations: @@ -14427,7 +14999,7 @@ anything else that works on the input stream.  File: werkzeug.info, Node: How does it Parse?, Next: Limiting Request Data, Prev: When does Werkzeug Parse?, Up: Dealing with Request Data -5.3.3 How does it Parse? +5.4.3 How does it Parse? ------------------------ The standard Werkzeug parsing behavior handles three cases: @@ -14452,7 +15024,7 @@ call ‘get_data()’.  File: werkzeug.info, Node: Limiting Request Data, Next: How to extend Parsing?, Prev: How does it Parse?, Up: Dealing with Request Data -5.3.4 Limiting Request Data +5.4.4 Limiting Request Data --------------------------- To avoid being the victim of a DDOS attack you can set the maximum @@ -14476,7 +15048,7 @@ This however does `not' affect in-memory stored files if the  File: werkzeug.info, Node: How to extend Parsing?, Prev: Limiting Request Data, Up: Dealing with Request Data -5.3.5 How to extend Parsing? +5.4.5 How to extend Parsing? ---------------------------- Modern web applications transmit a lot more than multipart form data or @@ -14486,7 +15058,7 @@ url encoded data. To extend the capabilities, subclass ‘Request’ or  File: werkzeug.info, Node: BSD-3-Clause License, Next: Changes, Prev: Dealing with Request Data, Up: Additional Information -5.4 BSD-3-Clause License +5.5 BSD-3-Clause License ======================== Copyright 2007 Pallets @@ -14522,13 +15094,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  File: werkzeug.info, Node: Changes, Prev: BSD-3-Clause License, Up: Additional Information -5.5 Changes +5.6 Changes =========== * Menu: -* Version 2.1.0: Version 2 1 0. -* Version 2.0.3: Version 2 0 3. * Version 2.0.2: Version 2 0 2. * Version 2.0.1: Version 2 0 1. * Version 2.0.0: Version 2 0 0. @@ -14602,188 +15172,9 @@ File: werkzeug.info, Node: Changes, Prev: BSD-3-Clause License, Up: Additiona * Version 0.1: Version 0 1.  -File: werkzeug.info, Node: Version 2 1 0, Next: Version 2 0 3, Up: Changes +File: werkzeug.info, Node: Version 2 0 2, Next: Version 2 0 1, Up: Changes -5.5.1 Version 2.1.0 -------------------- - -Unreleased - - - Drop support for Python 3.6. #2277(1) - - - Using gevent or eventlet requires greenlet>=1.0 or PyPy>=7.3.7. - ‘werkzeug.locals’ and ‘contextvars’ will not work correctly with - older versions. #2278(2) - - - Remove previously deprecated code. #2276(3) - - - Remove the non-standard ‘shutdown’ function from the WSGI - environ when running the development server. See the docs for - alternatives. - - - Request and response mixins have all been merged into the - ‘Request’ and ‘Response’ classes. - - - The user agent parser and the ‘useragents’ module is removed. - The ‘user_agent’ module provides an interface that can be - subclassed to add a parser, such as ua-parser. By default it - only stores the whole string. - - - The test client returns ‘TestResponse’ instances and can no - longer be treated as a tuple. All data is available as - properties on the response. - - - Remove ‘locals.get_ident’ and related thread-local code from - ‘locals’, it no longer makes sense when moving to a - contextvars-based implementation. - - - Remove the ‘python -m werkzeug.serving’ CLI. - - - The ‘has_key’ method on some mapping datastructures; use ‘key - in data’ instead. - - - ‘Request.disable_data_descriptor’ is removed, pass - ‘shallow=True’ instead. - - - Remove the ‘no_etag’ parameter from ‘Response.freeze()’. - - - Remove the ‘HTTPException.wrap’ class method. - - - Remove the ‘cookie_date’ function. Use ‘http_date’ instead. - - - Remove the ‘pbkdf2_hex’, ‘pbkdf2_bin’, and ‘safe_str_cmp’ - functions. Use equivalents in ‘hashlib’ and ‘hmac’ modules - instead. - - - Remove the ‘Href’ class. - - - Remove the ‘HTMLBuilder’ class. - - - Remove the ‘invalidate_cached_property’ function. Use ‘del - obj.attr’ instead. - - - Remove ‘bind_arguments’ and ‘validate_arguments’. Use - ‘Signature.bind()’ and inspect.signature()(4) instead. - - - Remove ‘detect_utf_encoding’, it’s built-in to ‘json.loads’. - - - Remove ‘format_string’, use string.Template(5) instead. - - - Remove ‘escape’ and ‘unescape’. Use MarkupSafe instead. - - - Rely on PEP 538(6) and PEP 540(7) to handle decoding file names - with the correct filesystem encoding. The ‘filesystem’ module is - removed. #1760(8) - - - Default values passed to ‘Headers’ are validated the same way - values added later are. #1608(9) - - - Setting ‘CacheControl’ int properties, such as ‘max_age’, will - convert the value to an int. #2230(10) - - - Always use ‘socket.fromfd’ when restarting the dev server. - #2287(11) - - - When passing a dict of URL values to ‘Map.build’, list values do - not filter out ‘None’ or collapse to a single value. Passing a - ‘MultiDict’ does collapse single items. This undoes a previous - change that made it difficult to pass a list, or ‘None’ values in a - list, to custom URL converters. #2249(12) - - - ‘run_simple’ shows instructions for dealing with “address already - in use” errors, including extra instructions for macOS. #2321(13) - - - Extend list of characters considered always safe in URLs based on - RFC 3986(14). #2319(15) - - - Optimize the stat reloader to avoid watching unnecessary files in - more cases. The watchdog reloader is still recommended for - performance and accuracy. #2141(16) - - - The development server uses ‘Transfer-Encoding: chunked’ for - streaming responses when it is configured for HTTP/1.1. - #2090(17)#1327(18), #2091(19) - - - The development server uses HTTP/1.1, which enables keep-alive - connections and chunked streaming responses, when ‘threaded’ or - ‘processes’ is enabled. #2323(20) - - ---------- Footnotes ---------- - - (1) https://github.com/pallets/werkzeug/pull/2277 - - (2) https://github.com/pallets/werkzeug/pull/2278 - - (3) https://github.com/pallets/werkzeug/pull/2276 - - (4) https://docs.python.org/3/library/inspect.html#inspect.signature - - (5) https://docs.python.org/3/library/string.html#string.Template - - (6) https://www.python.org/dev/peps/pep-0538 - - (7) https://www.python.org/dev/peps/pep-0540 - - (8) https://github.com/pallets/werkzeug/issues/1760 - - (9) https://github.com/pallets/werkzeug/issues/1608 - - (10) https://github.com/pallets/werkzeug/issues/2230 - - (11) https://github.com/pallets/werkzeug/pull/2287 - - (12) https://github.com/pallets/werkzeug/issues/2249 - - (13) https://github.com/pallets/werkzeug/pull/2321 - - (14) https://tools.ietf.org/html/rfc3986.html - - (15) https://github.com/pallets/werkzeug/issues/2319 - - (16) https://github.com/pallets/werkzeug/issues/2141 - - (17) https://github.com/pallets/werkzeug/issues/2090 - - (18) https://github.com/pallets/werkzeug/issues/1327 - - (19) https://github.com/pallets/werkzeug/pull/2091 - - (20) https://github.com/pallets/werkzeug/pull/2323 - - -File: werkzeug.info, Node: Version 2 0 3, Next: Version 2 0 2, Prev: Version 2 1 0, Up: Changes - -5.5.2 Version 2.0.3 -------------------- - -Unreleased - - - ‘ProxyFix’ supports IPv6 addresses. #2262(1) - - - Type annotation for ‘Response.make_conditional’, - ‘HTTPException.get_response’, and ‘Map.bind_to_environ’ accepts - ‘Request’ in addition to ‘WSGIEnvironment’ for the first parameter. - #2290(2) - - - Fix type annotation for ‘Request.user_agent_class’. #2273(3) - - - Accessing ‘LocalProxy.__class__’ and ‘__doc__’ on an unbound proxy - returns the fallback value instead of a method object. #2188(4) - - ---------- Footnotes ---------- - - (1) https://github.com/pallets/werkzeug/issues/2262 - - (2) https://github.com/pallets/werkzeug/pull/2290 - - (3) https://github.com/pallets/werkzeug/issues/2273 - - (4) https://github.com/pallets/werkzeug/issues/2188 - - -File: werkzeug.info, Node: Version 2 0 2, Next: Version 2 0 1, Prev: Version 2 0 3, Up: Changes - -5.5.3 Version 2.0.2 +5.6.1 Version 2.0.2 ------------------- Released 2021-10-05 @@ -14879,7 +15270,7 @@ Released 2021-10-05  File: werkzeug.info, Node: Version 2 0 1, Next: Version 2 0 0, Prev: Version 2 0 2, Up: Changes -5.5.4 Version 2.0.1 +5.6.2 Version 2.0.1 ------------------- Released 2021-05-17 @@ -14923,7 +15314,7 @@ Released 2021-05-17  File: werkzeug.info, Node: Version 2 0 0, Next: Version 1 0 1, Prev: Version 2 0 1, Up: Changes -5.5.5 Version 2.0.0 +5.6.3 Version 2.0.0 ------------------- Released 2021-05-11 @@ -14933,14 +15324,14 @@ Released 2021-05-11 - Deprecate ‘utils.format_string()’, use string.Template(2) instead. #1756(3) - - Deprecate ‘utils.bind_arguments()’ and - ‘utils.validate_arguments()’, use ‘Signature.bind()’ and + - Deprecate *note utils.bind_arguments(): 262. and *note + utils.validate_arguments(): 260, use ‘Signature.bind()’ and inspect.signature()(4) instead. #1757(5) - - Deprecate ‘utils.HTMLBuilder’. #1761(6) + - Deprecate *note utils.HTMLBuilder: 254. #1761(6) - - Deprecate ‘utils.escape()’ and ‘utils.unescape()’, use MarkupSafe - instead. #1758(7) + - Deprecate *note utils.escape(): 255. and *note utils.unescape(): + 256, use MarkupSafe instead. #1758(7) - Deprecate the undocumented ‘python -m werkzeug.serving’ CLI. #1834(8) @@ -14983,7 +15374,7 @@ Released 2021-05-11 The ‘no_etag’ parameter (which usually wasn’t visible anyway) is no longer used. #1963(16) - - Add a ‘url_scheme’ argument to *note build(): 15b. to override the + - Add a ‘url_scheme’ argument to *note build(): 15d. to override the bound scheme. #1721(17) - Passing an empty list as a query string parameter to ‘build()’ @@ -15001,7 +15392,7 @@ Released 2021-05-11 - ‘MethodNotAllowed’ and ‘RequestedRangeNotSatisfiable’ take a ‘response’ kwarg, consistent with other HTTP errors. #1748(22) - - The response generated by *note Unauthorized: 2ac. produces one + - The response generated by *note Unauthorized: 2c4. produces one ‘WWW-Authenticate’ header per value in ‘www_authenticate’, rather than joining them into a single value, to improve interoperability with browsers and other clients. #1755(23) @@ -15322,7 +15713,7 @@ Released 2021-05-11  File: werkzeug.info, Node: Version 1 0 1, Next: Version 1 0 0, Prev: Version 2 0 0, Up: Changes -5.5.6 Version 1.0.1 +5.6.4 Version 1.0.1 ------------------- Released 2020-03-31 @@ -15361,7 +15752,7 @@ Released 2020-03-31  File: werkzeug.info, Node: Version 1 0 0, Next: Version 0 16 1, Prev: Version 1 0 1, Up: Changes -5.5.7 Version 1.0.0 +5.6.5 Version 1.0.0 ------------------- Released 2020-02-06 @@ -15409,17 +15800,17 @@ Released 2020-02-06 match the current server name without the port if the current scheme matches. #1584(16) - - *note InternalServerError: 2bf. has a ‘original_exception’ + - *note InternalServerError: 2d7. has a ‘original_exception’ attribute that frameworks can use to track the original cause of the error. #1590(17) - Headers are tested for equality independent of the header key case, such that ‘X-Foo’ is the same as ‘x-foo’. #1605(18) - - *note http.dump_cookie(): 1ae. accepts ‘'None'’ as a value for + - *note http.dump_cookie(): 1b6. accepts ‘'None'’ as a value for ‘samesite’. #1549(19) - - *note set_cookie(): 64. accepts a ‘samesite’ argument. #1705(20) + - *note set_cookie(): 65. accepts a ‘samesite’ argument. #1705(20) - Support the Content Security Policy header through the ‘Response.content_security_policy’ data structure. #1617(21) @@ -15497,7 +15888,7 @@ Released 2020-02-06 200, to be more compliant with RFC 7233(47). This may help serving media to older browsers. #410(48)#1704(49) - - The *note SharedDataMiddleware: 29a. default ‘fallback_mimetype’ is + - The *note SharedDataMiddleware: 2b2. default ‘fallback_mimetype’ is ‘application/octet-stream’. If a filename looks like a text mimetype, the ‘utf-8’ charset is added to it. This matches the behavior of ‘BaseResponse’ and Flask’s ‘send_file()’. #1689(50) @@ -15607,7 +15998,7 @@ Released 2020-02-06  File: werkzeug.info, Node: Version 0 16 1, Next: Version 0 16 0, Prev: Version 1 0 0, Up: Changes -5.5.8 Version 0.16.1 +5.6.6 Version 0.16.1 -------------------- Released 2020-01-27 @@ -15627,7 +16018,7 @@ Released 2020-01-27  File: werkzeug.info, Node: Version 0 16 0, Next: Version 0 15 6, Prev: Version 0 16 1, Up: Changes -5.5.9 Version 0.16.0 +5.6.7 Version 0.16.0 -------------------- Released 2019-09-19 @@ -15653,8 +16044,8 @@ Released 2019-09-19  File: werkzeug.info, Node: Version 0 15 6, Next: Version 0 15 5, Prev: Version 0 16 0, Up: Changes -5.5.10 Version 0.15.6 ---------------------- +5.6.8 Version 0.15.6 +-------------------- Released 2019-09-04 @@ -15682,8 +16073,8 @@ Released 2019-09-04  File: werkzeug.info, Node: Version 0 15 5, Next: Version 0 15 4, Prev: Version 0 15 6, Up: Changes -5.5.11 Version 0.15.5 ---------------------- +5.6.9 Version 0.15.5 +-------------------- Released 2019-07-17 @@ -15693,7 +16084,7 @@ Released 2019-07-17 - Fix a C assertion failure in debug builds of some Python 2.7 releases. #1553(2) - - *note BadRequestKeyError: 2ca. adds the ‘KeyError’ message to the + - *note BadRequestKeyError: 2e2. adds the ‘KeyError’ message to the description if ‘e.show_exception’ is set to ‘True’. This is a more secure default than the original 0.15.0 behavior and makes it easier to control without losing information. #1592(3) @@ -15737,7 +16128,7 @@ Released 2019-07-17  File: werkzeug.info, Node: Version 0 15 4, Next: Version 0 15 3, Prev: Version 0 15 5, Up: Changes -5.5.12 Version 0.15.4 +5.6.10 Version 0.15.4 --------------------- Released 2019-05-14 @@ -15751,7 +16142,7 @@ Released 2019-05-14  File: werkzeug.info, Node: Version 0 15 3, Next: Version 0 15 2, Prev: Version 0 15 4, Up: Changes -5.5.13 Version 0.15.3 +5.6.11 Version 0.15.3 --------------------- Released 2019-05-14 @@ -15759,19 +16150,19 @@ Released 2019-05-14 - Properly handle multi-line header folding in development server in Python 2.7. (#1080(1)) - - Restore the ‘response’ argument to *note Unauthorized: 2ac. + - Restore the ‘response’ argument to *note Unauthorized: 2c4. (#1527(2)) - - *note Unauthorized: 2ac. doesn’t add the ‘WWW-Authenticate’ header + - *note Unauthorized: 2c4. doesn’t add the ‘WWW-Authenticate’ header if ‘www_authenticate’ is not given. (#1516(3)) - The default URL converter correctly encodes bytes to string rather than representing them with ‘b''’. (#1502(4)) - - Fix the filename format string in *note ProfilerMiddleware: 2a7. to + - Fix the filename format string in *note ProfilerMiddleware: 2bf. to correctly handle float values. (#1511(5)) - - Update *note LintMiddleware: 2a4. to work on Python 3. (#1510(6)) + - Update *note LintMiddleware: 2bc. to work on Python 3. (#1510(6)) - The debugger detects cycles in chained exceptions and does not time out in that case. (#1536(7)) @@ -15798,7 +16189,7 @@ Released 2019-05-14  File: werkzeug.info, Node: Version 0 15 2, Next: Version 0 15 1, Prev: Version 0 15 3, Up: Changes -5.5.14 Version 0.15.2 +5.6.12 Version 0.15.2 --------------------- Released 2019-04-02 @@ -15833,12 +16224,12 @@ Released 2019-04-02  File: werkzeug.info, Node: Version 0 15 1, Next: Version 0 15 0, Prev: Version 0 15 2, Up: Changes -5.5.15 Version 0.15.1 +5.6.13 Version 0.15.1 --------------------- Released 2019-03-21 - - *note Unauthorized: 2ac. takes ‘description’ as the first argument, + - *note Unauthorized: 2c4. takes ‘description’ as the first argument, restoring previous behavior. The new ‘www_authenticate’ argument is listed second. (#1483(1)) @@ -15849,19 +16240,19 @@ Released 2019-03-21  File: werkzeug.info, Node: Version 0 15 0, Next: Version 0 14 1, Prev: Version 0 15 1, Up: Changes -5.5.16 Version 0.15.0 +5.6.14 Version 0.15.0 --------------------- Released 2019-03-19 - - Building URLs is ~7x faster. Each *note Rule: 30. compiles an + - Building URLs is ~7x faster. Each *note Rule: 31. compiles an optimized function for building itself. (#1281(1)) - - *note MapAdapter.build(): 15b. can be passed a *note MultiDict: 82. + - *note MapAdapter.build(): 15d. can be passed a *note MultiDict: 83. to represent multiple values for a key. It already did this when passing a dict with a list value. (#724(2)) - - ‘path_info’ defaults to ‘'/'’ for *note Map.bind(): 153. (#740(3), + - ‘path_info’ defaults to ‘'/'’ for *note Map.bind(): 155. (#740(3), #768(4), #1316(5)) - Change ‘RequestRedirect’ code from 301 to 308, preserving the verb @@ -15885,28 +16276,28 @@ Released 2019-03-19 header would still be present. The new behavior matches RFC 7230. (#1294(14)) - - *note Unauthorized: 2ac. takes a ‘www_authenticate’ parameter to + - *note Unauthorized: 2c4. takes a ‘www_authenticate’ parameter to set the ‘WWW-Authenticate’ header for the response, which is technically required for a valid 401 response. (#772(15), #795(16)) - - Add support for status code 424 *note FailedDependency: 2ba. + - Add support for status code 424 *note FailedDependency: 2d2. (#1358(17)) - - *note http.parse_cookie(): 1ad. ignores empty segments rather than + - *note http.parse_cookie(): 1b5. ignores empty segments rather than producing a cookie with no key or value. (#1245(18), #1301(19)) - - *note parse_authorization_header(): 19f. (and *note Authorization: - 7a, *note authorization: a9.) treats the authorization header as + - *note parse_authorization_header(): 1a7. (and *note Authorization: + 7b, *note authorization: aa.) treats the authorization header as UTF-8. On Python 2, basic auth username and password are ‘unicode’. (#1325(20)) - - *note parse_options_header(): 198. understands RFC 2231(21) + - *note parse_options_header(): 1a0. understands RFC 2231(21) parameter continuations. (#1417(22)) - - *note uri_to_iri(): 276. does not unquote ASCII characters in the + - *note uri_to_iri(): 28c. does not unquote ASCII characters in the unreserved class, such as space, and leaves invalid bytes quoted - when decoding. *note iri_to_uri(): 184. does not quote reserved + when decoding. *note iri_to_uri(): 186. does not quote reserved characters. See RFC 3987(23) for these character classes. (#1433(24)) @@ -15918,28 +16309,28 @@ Released 2019-03-19 - Clean up ‘werkzeug.security’ module, remove outdated hashlib support. (#1282(26)) - - In *note generate_password_hash(): 25d, PBKDF2 uses 150000 + - In *note generate_password_hash(): 270, PBKDF2 uses 150000 iterations by default, increased from 50000. (#1377(27)) - - *note ClosingIterator: 16e. calls ‘close’ on the wrapped + - *note ClosingIterator: 170. calls ‘close’ on the wrapped `iterable', not the internal iterator. This doesn’t affect objects where ‘__iter__’ returned ‘self’. For other objects, the method was not called before. (#1259(28), #1260(29)) - - Bytes may be used as keys in *note Headers: 70, they will be + - Bytes may be used as keys in *note Headers: 71, they will be decoded as Latin-1 like values are. (#1346(30)) - - *note Range: e8. validates that list of range tuples passed to it + - *note Range: ea. validates that list of range tuples passed to it would produce a valid ‘Range’ header. (#1412(31)) - - *note FileStorage: b9. looks up attributes on ‘stream._file’ if + - *note FileStorage: bb. looks up attributes on ‘stream._file’ if they don’t exist on ‘stream’, working around an issue where tempfile.SpooledTemporaryFile()(32) didn’t implement all of io.IOBase(33). See ‘https://github.com/python/cpython/pull/3249’. (#1409(34)) - - *note CombinedMultiDict.copy(): f7. returns a shallow mutable copy - as a *note MultiDict: 82. The copy no longer reflects changes to + - *note CombinedMultiDict.copy(): f9. returns a shallow mutable copy + as a *note MultiDict: 83. The copy no longer reflects changes to the combined dicts, but is more generally useful. (#1420(35)) - The version of jQuery used by the debugger is updated to 3.3.1. @@ -15967,12 +16358,12 @@ Released 2019-03-19 when the current UID doesn’t have an associated username, which can happen in Docker. (#1471(42)) - - *note BadRequestKeyError: 2ca. adds the ‘KeyError’ message to the + - *note BadRequestKeyError: 2e2. adds the ‘KeyError’ message to the description, making it clearer what caused the 400 error. Frameworks like Flask can omit this information in production by setting ‘e.args = ()’. (#1395(43)) - - If a nested ‘ImportError’ occurs from *note import_string(): 250. + - If a nested ‘ImportError’ occurs from *note import_string(): 25e. the traceback mentions the nested import. Removes an untested code path for handling “modules not yet set up by the parent.” (#735(44)) @@ -15995,7 +16386,7 @@ Released 2019-03-19 - Server uses ‘IPPROTO_TCP’ constant instead of ‘SOL_TCP’ for Jython compatibility. (#1375(50)) - - When using an adhoc SSL cert with *note run_simple(): 46, the cert + - When using an adhoc SSL cert with *note run_simple(): 47, the cert is shown as self-signed rather than signed by an invalid authority. (#1430(51)) @@ -16012,7 +16403,7 @@ Released 2019-03-19 servers add them. Middleware could replace ‘PATH_INFO’ with this to route based on the raw value. (#1419(54)) - - *note EnvironBuilder: 61. doesn’t set ‘CONTENT_TYPE’ or + - *note EnvironBuilder: 62. doesn’t set ‘CONTENT_TYPE’ or ‘CONTENT_LENGTH’ in the environ if they aren’t set. Previously these used default values if they weren’t set. Now it’s possible to distinguish between empty and unset values. (#1308(55)) @@ -16020,12 +16411,12 @@ Released 2019-03-19 - The test client raises a ‘ValueError’ if a query string argument would overwrite a query string in the path. (#1338(56)) - - *note test.EnvironBuilder: 61. and *note test.Client: 5c. take a + - *note test.EnvironBuilder: 62. and *note test.Client: 5d. take a ‘json’ argument instead of manually passing ‘data’ and ‘content_type’. This is serialized using the *note - test.EnvironBuilder.json_dumps(): 79. method. (#1404(57)) + test.EnvironBuilder.json_dumps(): 7a. method. (#1404(57)) - - *note test.Client: 5c. redirect handling is rewritten. (#1402(58)) + - *note test.Client: 5d. redirect handling is rewritten. (#1402(58)) - The redirect environ is copied from the initial request environ. @@ -16041,7 +16432,7 @@ Released 2019-03-19 - Headers are passed to the new request for all codes, following what browsers do. - - *note test.EnvironBuilder: 61. sets the content type and + - *note test.EnvironBuilder: 62. sets the content type and length headers in addition to the WSGI keys when detecting them from the data. @@ -16050,8 +16441,8 @@ Released 2019-03-19 code safely. Only the last response is not buffered. (#988(59)) - - *note EnvironBuilder: 61, *note FileStorage: b9, and *note - wsgi.get_input_stream(): 182. no longer share a global + - *note EnvironBuilder: 62, *note FileStorage: bb, and *note + wsgi.get_input_stream(): 184. no longer share a global ‘_empty_stream’ instance. This improves test isolation by preventing cases where closing the stream in one request would affect other usages. (#1340(60)) @@ -16076,13 +16467,13 @@ Released 2019-03-19 using. (#4(66)) - ‘LintMiddleware’ has moved to *note werkzeug.middleware.lint: - 9. + a. - ‘ProfilerMiddleware’ has moved to *note - werkzeug.middleware.profiler: a. + werkzeug.middleware.profiler: b. - ‘ProxyFix’ has moved to *note werkzeug.middleware.proxy_fix: - b. + c. - ‘JSONRequestMixin’ has moved to ‘werkzeug.wrappers.json’. @@ -16113,10 +16504,10 @@ Released 2019-03-19 - ‘iterio’ is deprecated. - - *note wsgi.get_host(): 17e. no longer looks at ‘X-Forwarded-For’. - Use *note ProxyFix: 297. to handle that. (#609(69), #1303(70)) + - *note wsgi.get_host(): 180. no longer looks at ‘X-Forwarded-For’. + Use *note ProxyFix: 2af. to handle that. (#609(69), #1303(70)) - - *note ProxyFix: 297. is refactored to support more headers, + - *note ProxyFix: 2af. is refactored to support more headers, multiple values, and more secure configuration. - Each header supports multiple values. The trusted number of @@ -16143,17 +16534,17 @@ Released 2019-03-19 and will be removed in version 1.0. (#1452(76)) - ‘werkzeug.wsgi.DispatcherMiddleware’ has moved to *note - werkzeug.middleware.dispatcher.DispatcherMiddleware: 29e. + werkzeug.middleware.dispatcher.DispatcherMiddleware: 2b6. - ‘werkzeug.wsgi.ProxyMiddleware’ as moved to *note - werkzeug.middleware.http_proxy.ProxyMiddleware: 2a1. + werkzeug.middleware.http_proxy.ProxyMiddleware: 2b9. - ‘werkzeug.wsgi.SharedDataMiddleware’ has moved to *note - werkzeug.middleware.shared_data.SharedDataMiddleware: 29a. + werkzeug.middleware.shared_data.SharedDataMiddleware: 2b2. - - *note ProxyMiddleware: 2a1. proxies the query string. (#1252(77)) + - *note ProxyMiddleware: 2b9. proxies the query string. (#1252(77)) - - The filenames generated by *note ProfilerMiddleware: 2a7. can be + - The filenames generated by *note ProfilerMiddleware: 2bf. can be customized. (#1283(78)) - The ‘werkzeug.wrappers’ module has been converted to a package, and @@ -16326,7 +16717,7 @@ https://docs.python.org/3/library/tempfile.html#tempfile.SpooledTemporaryFile  File: werkzeug.info, Node: Version 0 14 1, Next: Version 0 14, Prev: Version 0 15 0, Up: Changes -5.5.17 Version 0.14.1 +5.6.15 Version 0.14.1 --------------------- Released on December 31st 2017 @@ -16337,7 +16728,7 @@ Released on December 31st 2017  File: werkzeug.info, Node: Version 0 14, Next: Version 0 13, Prev: Version 0 14 1, Up: Changes -5.5.18 Version 0.14 +5.6.16 Version 0.14 ------------------- Released on December 31st 2017 @@ -16405,7 +16796,7 @@ Released on December 31st 2017  File: werkzeug.info, Node: Version 0 13, Next: Version 0 12 2, Prev: Version 0 14, Up: Changes -5.5.19 Version 0.13 +5.6.17 Version 0.13 ------------------- Released on December 7th 2017 @@ -16489,7 +16880,7 @@ Released on December 7th 2017  File: werkzeug.info, Node: Version 0 12 2, Next: Version 0 12 1, Prev: Version 0 13, Up: Changes -5.5.20 Version 0.12.2 +5.6.18 Version 0.12.2 --------------------- Released on May 16 2017 @@ -16503,7 +16894,7 @@ Released on May 16 2017  File: werkzeug.info, Node: Version 0 12 1, Next: Version 0 12, Prev: Version 0 12 2, Up: Changes -5.5.21 Version 0.12.1 +5.6.19 Version 0.12.1 --------------------- Released on March 15th 2017 @@ -16517,7 +16908,7 @@ Released on March 15th 2017  File: werkzeug.info, Node: Version 0 12, Next: Version 0 11 16, Prev: Version 0 12 1, Up: Changes -5.5.22 Version 0.12 +5.6.20 Version 0.12 ------------------- Released on March 10th 2017 @@ -16599,7 +16990,7 @@ Released on March 10th 2017  File: werkzeug.info, Node: Version 0 11 16, Next: Version 0 11 15, Prev: Version 0 12, Up: Changes -5.5.23 Version 0.11.16 +5.6.21 Version 0.11.16 ---------------------- - werkzeug.serving: set CONTENT_TYPE / CONTENT_LENGTH if only they’re @@ -16611,7 +17002,7 @@ File: werkzeug.info, Node: Version 0 11 16, Next: Version 0 11 15, Prev: Vers  File: werkzeug.info, Node: Version 0 11 15, Next: Version 0 11 14, Prev: Version 0 11 16, Up: Changes -5.5.24 Version 0.11.15 +5.6.22 Version 0.11.15 ---------------------- Released on December 30th 2016. @@ -16621,7 +17012,7 @@ Released on December 30th 2016.  File: werkzeug.info, Node: Version 0 11 14, Next: Version 0 11 13, Prev: Version 0 11 15, Up: Changes -5.5.25 Version 0.11.14 +5.6.23 Version 0.11.14 ---------------------- Released on December 30th 2016. @@ -16633,7 +17024,7 @@ Released on December 30th 2016.  File: werkzeug.info, Node: Version 0 11 13, Next: Version 0 11 12, Prev: Version 0 11 14, Up: Changes -5.5.26 Version 0.11.13 +5.6.24 Version 0.11.13 ---------------------- Released on December 26th 2016. @@ -16644,7 +17035,7 @@ Released on December 26th 2016.  File: werkzeug.info, Node: Version 0 11 12, Next: Version 0 11 11, Prev: Version 0 11 13, Up: Changes -5.5.27 Version 0.11.12 +5.6.25 Version 0.11.12 ---------------------- Released on December 26th 2016. @@ -16659,7 +17050,7 @@ Released on December 26th 2016.  File: werkzeug.info, Node: Version 0 11 11, Next: Version 0 11 10, Prev: Version 0 11 12, Up: Changes -5.5.28 Version 0.11.11 +5.6.26 Version 0.11.11 ---------------------- Released on August 31st 2016. @@ -16682,7 +17073,7 @@ Released on August 31st 2016.  File: werkzeug.info, Node: Version 0 11 10, Next: Version 0 11 9, Prev: Version 0 11 11, Up: Changes -5.5.29 Version 0.11.10 +5.6.27 Version 0.11.10 ---------------------- Released on May 24th 2016. @@ -16699,7 +17090,7 @@ Released on May 24th 2016.  File: werkzeug.info, Node: Version 0 11 9, Next: Version 0 11 8, Prev: Version 0 11 10, Up: Changes -5.5.30 Version 0.11.9 +5.6.28 Version 0.11.9 --------------------- Released on April 24th 2016. @@ -16715,7 +17106,7 @@ Released on April 24th 2016.  File: werkzeug.info, Node: Version 0 11 8, Next: Version 0 11 7, Prev: Version 0 11 9, Up: Changes -5.5.31 Version 0.11.8 +5.6.29 Version 0.11.8 --------------------- Released on April 15th 2016. @@ -16726,7 +17117,7 @@ Released on April 15th 2016.  File: werkzeug.info, Node: Version 0 11 7, Next: Version 0 11 6, Prev: Version 0 11 8, Up: Changes -5.5.32 Version 0.11.7 +5.6.30 Version 0.11.7 --------------------- Released on April 14th 2016. @@ -16736,7 +17127,7 @@ Released on April 14th 2016.  File: werkzeug.info, Node: Version 0 11 6, Next: Version 0 11 5, Prev: Version 0 11 7, Up: Changes -5.5.33 Version 0.11.6 +5.6.31 Version 0.11.6 --------------------- Released on April 14th 2016. @@ -16758,7 +17149,7 @@ Released on April 14th 2016.  File: werkzeug.info, Node: Version 0 11 5, Next: Version 0 11 4, Prev: Version 0 11 6, Up: Changes -5.5.34 Version 0.11.5 +5.6.32 Version 0.11.5 --------------------- Released on March 22nd 2016. @@ -16769,7 +17160,7 @@ Released on March 22nd 2016.  File: werkzeug.info, Node: Version 0 11 4, Next: Version 0 11 3, Prev: Version 0 11 5, Up: Changes -5.5.35 Version 0.11.4 +5.6.33 Version 0.11.4 --------------------- Released on February 14th 2016. @@ -16781,7 +17172,7 @@ Released on February 14th 2016.  File: werkzeug.info, Node: Version 0 11 3, Next: Version 0 11 2, Prev: Version 0 11 4, Up: Changes -5.5.36 Version 0.11.3 +5.6.34 Version 0.11.3 --------------------- Released on December 20th 2015. @@ -16797,7 +17188,7 @@ Released on December 20th 2015.  File: werkzeug.info, Node: Version 0 11 2, Next: Version 0 11 1, Prev: Version 0 11 3, Up: Changes -5.5.37 Version 0.11.2 +5.6.35 Version 0.11.2 --------------------- Released on November 12th 2015. @@ -16817,7 +17208,7 @@ Released on November 12th 2015.  File: werkzeug.info, Node: Version 0 11 1, Next: Version 0 11, Prev: Version 0 11 2, Up: Changes -5.5.38 Version 0.11.1 +5.6.36 Version 0.11.1 --------------------- Released on November 10th 2015. @@ -16827,7 +17218,7 @@ Released on November 10th 2015.  File: werkzeug.info, Node: Version 0 11, Next: Version 0 10 5, Prev: Version 0 11 1, Up: Changes -5.5.39 Version 0.11 +5.6.37 Version 0.11 ------------------- Released on November 8th 2015, codename Gleisbaumaschine. @@ -16881,7 +17272,7 @@ Released on November 8th 2015, codename Gleisbaumaschine.  File: werkzeug.info, Node: Version 0 10 5, Next: Version 0 10 4, Prev: Version 0 11, Up: Changes -5.5.40 Version 0.10.5 +5.6.38 Version 0.10.5 --------------------- (bugfix release, release date yet to be decided) @@ -16896,7 +17287,7 @@ File: werkzeug.info, Node: Version 0 10 5, Next: Version 0 10 4, Prev: Versio  File: werkzeug.info, Node: Version 0 10 4, Next: Version 0 10 3, Prev: Version 0 10 5, Up: Changes -5.5.41 Version 0.10.4 +5.6.39 Version 0.10.4 --------------------- (bugfix release, released on March 26th 2015) @@ -16906,7 +17297,7 @@ File: werkzeug.info, Node: Version 0 10 4, Next: Version 0 10 3, Prev: Versio  File: werkzeug.info, Node: Version 0 10 3, Next: Version 0 10 2, Prev: Version 0 10 4, Up: Changes -5.5.42 Version 0.10.3 +5.6.40 Version 0.10.3 --------------------- (bugfix release, released on March 26th 2015) @@ -16916,7 +17307,7 @@ File: werkzeug.info, Node: Version 0 10 3, Next: Version 0 10 2, Prev: Versio  File: werkzeug.info, Node: Version 0 10 2, Next: Version 0 10 1, Prev: Version 0 10 3, Up: Changes -5.5.43 Version 0.10.2 +5.6.41 Version 0.10.2 --------------------- (bugfix release, released on March 26th 2015) @@ -16939,7 +17330,7 @@ File: werkzeug.info, Node: Version 0 10 2, Next: Version 0 10 1, Prev: Versio  File: werkzeug.info, Node: Version 0 10 1, Next: Version 0 10, Prev: Version 0 10 2, Up: Changes -5.5.44 Version 0.10.1 +5.6.42 Version 0.10.1 --------------------- (bugfix release, released on February 3rd 2015) @@ -16953,7 +17344,7 @@ File: werkzeug.info, Node: Version 0 10 1, Next: Version 0 10, Prev: Version  File: werkzeug.info, Node: Version 0 10, Next: Version 0 9 7, Prev: Version 0 10 1, Up: Changes -5.5.45 Version 0.10 +5.6.43 Version 0.10 ------------------- Released on January 30th 2015, codename Bagger. @@ -16964,7 +17355,7 @@ Released on January 30th 2015, codename Bagger. - Fixed a bug on Python 3 when creating adhoc ssl contexts, due to ‘sys.maxint’ not being defined. - - Fixed a bug on Python 3, that caused *note make_ssl_devcert(): 48. + - Fixed a bug on Python 3, that caused *note make_ssl_devcert(): 4a. to fail with an exception. - Added exceptions for 504 and 505. @@ -16976,7 +17367,7 @@ Released on January 30th 2015, codename Bagger. - Added message that explains how to quit the server. - Fixed a bug on Python 2, that caused ‘len’ for *note - werkzeug.datastructures.CombinedMultiDict: f7. to crash. + werkzeug.datastructures.CombinedMultiDict: f9. to crash. - Added support for stdlib pbkdf2 hmac if a compatible digest is found. @@ -17024,7 +17415,7 @@ Released on January 30th 2015, codename Bagger. bits (issue ‘#611’). - Added support for specifying a ‘Response’ subclass to use when - calling *note redirect(): 24e. + calling *note redirect(): 25c. - ‘werkzeug.test.EnvironBuilder’ now doesn’t use the request method anymore to guess the content type, and purely relies on the ‘form’, @@ -17051,7 +17442,7 @@ Released on January 30th 2015, codename Bagger.  File: werkzeug.info, Node: Version 0 9 7, Next: Version 0 9 6, Prev: Version 0 10, Up: Changes -5.5.46 Version 0.9.7 +5.6.44 Version 0.9.7 -------------------- (bugfix release, release date to be decided) @@ -17105,7 +17496,7 @@ File: werkzeug.info, Node: Version 0 9 7, Next: Version 0 9 6, Prev: Version  File: werkzeug.info, Node: Version 0 9 6, Next: Version 0 9 7<2>, Prev: Version 0 9 7, Up: Changes -5.5.47 Version 0.9.6 +5.6.45 Version 0.9.6 -------------------- (bugfix release, released on June 7th 2014) @@ -17117,7 +17508,7 @@ File: werkzeug.info, Node: Version 0 9 6, Next: Version 0 9 7<2>, Prev: Versi  File: werkzeug.info, Node: Version 0 9 7<2>, Next: Version 0 9 5, Prev: Version 0 9 6, Up: Changes -5.5.48 Version 0.9.7 +5.6.46 Version 0.9.7 -------------------- - Fixed uri_to_iri() not re-encoding hashes in query string @@ -17126,7 +17517,7 @@ File: werkzeug.info, Node: Version 0 9 7<2>, Next: Version 0 9 5, Prev: Versi  File: werkzeug.info, Node: Version 0 9 5, Next: Version 0 9 4, Prev: Version 0 9 7<2>, Up: Changes -5.5.49 Version 0.9.5 +5.6.47 Version 0.9.5 -------------------- (bugfix release, released on June 7th 2014) @@ -17156,7 +17547,7 @@ File: werkzeug.info, Node: Version 0 9 5, Next: Version 0 9 4, Prev: Version  File: werkzeug.info, Node: Version 0 9 4, Next: Version 0 9 3, Prev: Version 0 9 5, Up: Changes -5.5.50 Version 0.9.4 +5.6.48 Version 0.9.4 -------------------- (bugfix release, released on August 26th 2013) @@ -17171,7 +17562,7 @@ File: werkzeug.info, Node: Version 0 9 4, Next: Version 0 9 3, Prev: Version  File: werkzeug.info, Node: Version 0 9 3, Next: Version 0 9 2, Prev: Version 0 9 4, Up: Changes -5.5.51 Version 0.9.3 +5.6.49 Version 0.9.3 -------------------- (bugfix release, released on July 25th 2013) @@ -17189,14 +17580,14 @@ File: werkzeug.info, Node: Version 0 9 3, Next: Version 0 9 2, Prev: Version  File: werkzeug.info, Node: Version 0 9 2, Next: Version 0 9 1, Prev: Version 0 9 3, Up: Changes -5.5.52 Version 0.9.2 +5.6.50 Version 0.9.2 -------------------- (bugfix release, released on July 18th 2013) - - Added ‘unsafe’ parameter to *note url_quote(): 282. + - Added ‘unsafe’ parameter to *note url_quote(): 299. - - Fixed an issue with *note url_quote_plus(): 283. not quoting ‘‘+’’ + - Fixed an issue with *note url_quote_plus(): 29a. not quoting ‘‘+’’ correctly. - Ported remaining parts of ‘RedisCache’ to Python 3.3. @@ -17211,7 +17602,7 @@ File: werkzeug.info, Node: Version 0 9 2, Next: Version 0 9 1, Prev: Version - Use correct name for stdlib secure string comparison function. - Fixed a wrong reference in the docstring of *note release_local(): - 288. + 29f. - Fixed an ‘AttributeError’ that sometimes occurred when accessing the ‘werkzeug.wrappers.BaseResponse.is_streamed’ attribute. @@ -17219,7 +17610,7 @@ File: werkzeug.info, Node: Version 0 9 2, Next: Version 0 9 1, Prev: Version  File: werkzeug.info, Node: Version 0 9 1, Next: Version 0 9, Prev: Version 0 9 2, Up: Changes -5.5.53 Version 0.9.1 +5.6.51 Version 0.9.1 -------------------- (bugfix release, released on June 14th 2013) @@ -17248,14 +17639,14 @@ File: werkzeug.info, Node: Version 0 9 1, Next: Version 0 9, Prev: Version 0  File: werkzeug.info, Node: Version 0 9, Next: Version 0 8 4, Prev: Version 0 9 1, Up: Changes -5.5.54 Version 0.9 +5.6.52 Version 0.9 ------------------ Released on June 13nd 2013, codename Planierraupe. - - Added support for *note tell(): 17b. on the limited stream. + - Added support for *note tell(): 17d. on the limited stream. - - *note ETags: c8. now is nonzero if it contains at least one etag of + - *note ETags: ca. now is nonzero if it contains at least one etag of any kind, including weak ones. - Added a workaround for a bug in the stdlib for SSL servers. @@ -17266,22 +17657,22 @@ Released on June 13nd 2013, codename Planierraupe. - Refactored test client to invoke the open method on the class for redirects. This makes subclassing more powerful. - - *note werkzeug.wsgi.make_chunk_iter(): 17c. and *note - werkzeug.wsgi.make_line_iter(): 175. now support processing of + - *note werkzeug.wsgi.make_chunk_iter(): 17e. and *note + werkzeug.wsgi.make_line_iter(): 177. now support processing of iterators and streams. - URL generation by the routing system now no longer quotes ‘+’. - URL fixing now no longer quotes certain reserved characters. - - The *note werkzeug.security.generate_password_hash(): 25d. and + - The *note werkzeug.security.generate_password_hash(): 270. and check functions now support any of the hashlib algorithms. - ‘wsgi.get_current_url’ is now ascii safe for browsers sending non-ascii data in query strings. - improved parsing behavior for *note - werkzeug.http.parse_options_header(): 198. + werkzeug.http.parse_options_header(): 1a0. - added more operators to local proxies. @@ -17299,7 +17690,7 @@ Released on June 13nd 2013, codename Planierraupe. - Added support for fragment handling in URI/IRI functions. - Added custom class support for *note - werkzeug.http.parse_dict_header(): 199. + werkzeug.http.parse_dict_header(): 1a1. - Renamed ‘LighttpdCGIRootFix’ to ‘CGIRootFix’. @@ -17387,7 +17778,7 @@ Released on June 13nd 2013, codename Planierraupe.  File: werkzeug.info, Node: Version 0 8 4, Next: Version 0 8 3, Prev: Version 0 9, Up: Changes -5.5.55 Version 0.8.4 +5.6.53 Version 0.8.4 -------------------- (bugfix release, release date to be announced) @@ -17417,12 +17808,12 @@ File: werkzeug.info, Node: Version 0 8 4, Next: Version 0 8 3, Prev: Version  File: werkzeug.info, Node: Version 0 8 3, Next: Version 0 8 2, Prev: Version 0 8 4, Up: Changes -5.5.56 Version 0.8.3 +5.6.54 Version 0.8.3 -------------------- (bugfix release, released on February 5th 2012) - - Fixed another issue with *note werkzeug.wsgi.make_line_iter(): 175. + - Fixed another issue with *note werkzeug.wsgi.make_line_iter(): 177. where lines longer than the buffer size were not handled properly. - Restore stdout after debug console finished executing so that the @@ -17439,7 +17830,7 @@ File: werkzeug.info, Node: Version 0 8 3, Next: Version 0 8 2, Prev: Version  File: werkzeug.info, Node: Version 0 8 2, Next: Version 0 8 1, Prev: Version 0 8 3, Up: Changes -5.5.57 Version 0.8.2 +5.6.55 Version 0.8.2 -------------------- (bugfix release, released on December 16th 2011) @@ -17465,7 +17856,7 @@ File: werkzeug.info, Node: Version 0 8 2, Next: Version 0 8 1, Prev: Version  File: werkzeug.info, Node: Version 0 8 1, Next: Version 0 8, Prev: Version 0 8 2, Up: Changes -5.5.58 Version 0.8.1 +5.6.56 Version 0.8.1 -------------------- (bugfix release, released on September 30th 2011) @@ -17485,13 +17876,13 @@ File: werkzeug.info, Node: Version 0 8 1, Next: Version 0 8, Prev: Version 0  File: werkzeug.info, Node: Version 0 8, Next: Version 0 7 2, Prev: Version 0 8 1, Up: Changes -5.5.59 Version 0.8 +5.6.57 Version 0.8 ------------------ Released on September 29th 2011, codename Lötkolben - Removed data structure specific KeyErrors for a general purpose - *note BadRequestKeyError: 2ca. + *note BadRequestKeyError: 2e2. - Documented ‘werkzeug.wrappers.BaseRequest._load_form_data()’. @@ -17524,7 +17915,7 @@ Released on September 29th 2011, codename Lötkolben data is complete and will raise IO errors by itself if the server fails to do so. - - *note make_line_iter(): 175. now requires a limit that is not + - *note make_line_iter(): 177. now requires a limit that is not higher than the length the stream can provide. - Refactored form parsing into a form parser class that makes it @@ -17557,7 +17948,7 @@ Released on September 29th 2011, codename Lötkolben  File: werkzeug.info, Node: Version 0 7 2, Next: Version 0 7 1, Prev: Version 0 8, Up: Changes -5.5.60 Version 0.7.2 +5.6.58 Version 0.7.2 -------------------- (bugfix release, released on September 30th 2011) @@ -17572,7 +17963,7 @@ File: werkzeug.info, Node: Version 0 7 2, Next: Version 0 7 1, Prev: Version  File: werkzeug.info, Node: Version 0 7 1, Next: Version 0 7, Prev: Version 0 7 2, Up: Changes -5.5.61 Version 0.7.1 +5.6.59 Version 0.7.1 -------------------- (bugfix release, released on July 26th 2011) @@ -17584,7 +17975,7 @@ File: werkzeug.info, Node: Version 0 7 1, Next: Version 0 7, Prev: Version 0  File: werkzeug.info, Node: Version 0 7, Next: Version 0 6 2, Prev: Version 0 7 1, Up: Changes -5.5.62 Version 0.7 +5.6.60 Version 0.7 ------------------ Released on July 24th 2011, codename Schraubschlüssel @@ -17707,31 +18098,31 @@ Released on July 24th 2011, codename Schraubschlüssel - Headers are now assumed to be latin1 for better compatibility with Python 3 once we have support. - - Added *note werkzeug.security.safe_join(): 25f. + - Added *note werkzeug.security.safe_join(): 273. - Added ‘accept_json’ property analogous to ‘accept_html’ on the - *note werkzeug.datastructures.MIMEAccept: a1. + *note werkzeug.datastructures.MIMEAccept: a2. - - *note werkzeug.utils.import_string(): 250. now fails with much + - *note werkzeug.utils.import_string(): 25e. now fails with much better error messages that pinpoint to the problem. - Added support for parsing of the ‘If-Range’ header (*note - werkzeug.http.parse_if_range_header(): 1a1. and *note - werkzeug.datastructures.IfRange: cc.). + werkzeug.http.parse_if_range_header(): 1a9. and *note + werkzeug.datastructures.IfRange: ce.). - Added support for parsing of the ‘Range’ header (*note - werkzeug.http.parse_range_header(): 1a2. and *note - werkzeug.datastructures.Range: e8.). + werkzeug.http.parse_range_header(): 1aa. and *note + werkzeug.datastructures.Range: ea.). - Added support for parsing of the ‘Content-Range’ header of responses and provided an accessor object for it (*note - werkzeug.http.parse_content_range_header(): 1a3. and *note - werkzeug.datastructures.ContentRange: 113.). + werkzeug.http.parse_content_range_header(): 1ab. and *note + werkzeug.datastructures.ContentRange: 115.).  File: werkzeug.info, Node: Version 0 6 2, Next: Version 0 6 1, Prev: Version 0 7, Up: Changes -5.5.63 Version 0.6.2 +5.6.61 Version 0.6.2 -------------------- (bugfix release, released on April 23th 2010) @@ -17742,7 +18133,7 @@ File: werkzeug.info, Node: Version 0 6 2, Next: Version 0 6 1, Prev: Version  File: werkzeug.info, Node: Version 0 6 1, Next: Version 0 6, Prev: Version 0 6 2, Up: Changes -5.5.64 Version 0.6.1 +5.6.62 Version 0.6.1 -------------------- (bugfix release, released on April 13th 2010) @@ -17780,7 +18171,7 @@ File: werkzeug.info, Node: Version 0 6 1, Next: Version 0 6, Prev: Version 0  File: werkzeug.info, Node: Version 0 6, Next: Version 0 5 1, Prev: Version 0 6 1, Up: Changes -5.5.65 Version 0.6 +5.6.63 Version 0.6 ------------------ Released on Feb 19th 2010, codename Hammer. @@ -17798,7 +18189,7 @@ Released on Feb 19th 2010, codename Hammer. - ‘MapAdapter.match()’ now accepts a ‘return_rule’ keyword argument that returns the matched ‘Rule’ instead of just the ‘endpoint’ - - *note routing.Map.bind_to_environ(): 154. raises a more correct + - *note routing.Map.bind_to_environ(): 156. raises a more correct error message now if the map was bound to an invalid WSGI environment. @@ -17876,11 +18267,11 @@ Released on Feb 19th 2010, codename Hammer. name. - better ‘__repr__’ and ‘__str__’ of *note - werkzeug.exceptions.HTTPException: 32. + werkzeug.exceptions.HTTPException: 33. - test client works correctly with multiple cookies now. - - the *note werkzeug.routing.Map: 2f. now has a class attribute with + - the *note werkzeug.routing.Map: 30. now has a class attribute with the default converter mapping. This helps subclasses to override the converters without passing them to the constructor. @@ -17906,7 +18297,7 @@ Released on Feb 19th 2010, codename Hammer.  File: werkzeug.info, Node: Version 0 5 1, Next: Version 0 5, Prev: Version 0 6, Up: Changes -5.5.66 Version 0.5.1 +5.6.64 Version 0.5.1 -------------------- (bugfix release for 0.5, released on July 9th 2009) @@ -17949,7 +18340,7 @@ File: werkzeug.info, Node: Version 0 5 1, Next: Version 0 5, Prev: Version 0  File: werkzeug.info, Node: Version 0 5, Next: Version 0 4 1, Prev: Version 0 5 1, Up: Changes -5.5.67 Version 0.5 +5.6.65 Version 0.5 ------------------ Released on April 24th, codename Schlagbohrer. @@ -18055,7 +18446,7 @@ Released on April 24th, codename Schlagbohrer.  File: werkzeug.info, Node: Version 0 4 1, Next: Version 0 4, Prev: Version 0 5, Up: Changes -5.5.68 Version 0.4.1 +5.6.66 Version 0.4.1 -------------------- (Bugfix release, released on January 11th 2009) @@ -18098,7 +18489,7 @@ File: werkzeug.info, Node: Version 0 4 1, Next: Version 0 4, Prev: Version 0  File: werkzeug.info, Node: Version 0 4, Next: Version 0 3 1, Prev: Version 0 4 1, Up: Changes -5.5.69 Version 0.4 +5.6.67 Version 0.4 ------------------ Released on November 23rd 2008, codename Schraubenzieher. @@ -18149,7 +18540,7 @@ Released on November 23rd 2008, codename Schraubenzieher.  File: werkzeug.info, Node: Version 0 3 1, Next: Version 0 3, Prev: Version 0 4, Up: Changes -5.5.70 Version 0.3.1 +5.6.68 Version 0.3.1 -------------------- (bugfix release, released on June 24th 2008) @@ -18159,7 +18550,7 @@ File: werkzeug.info, Node: Version 0 3 1, Next: Version 0 3, Prev: Version 0  File: werkzeug.info, Node: Version 0 3, Next: Version 0 2, Prev: Version 0 3 1, Up: Changes -5.5.71 Version 0.3 +5.6.69 Version 0.3 ------------------ Released on June 14th 2008, codename EUR325CAT6. @@ -18229,7 +18620,7 @@ Released on June 14th 2008, codename EUR325CAT6.  File: werkzeug.info, Node: Version 0 2, Next: Version 0 1, Prev: Version 0 3, Up: Changes -5.5.72 Version 0.2 +5.6.70 Version 0.2 ------------------ Released Feb 14th 2008, codename Faustkeil. @@ -18307,7 +18698,7 @@ Released Feb 14th 2008, codename Faustkeil.  File: werkzeug.info, Node: Version 0 1, Prev: Version 0 2, Up: Changes -5.5.73 Version 0.1 +5.6.71 Version 0.1 ------------------ Released on Dec 9th 2007, codename Wictorinoxger. @@ -18325,25 +18716,27 @@ Python Module Index * werkzeug.datastructures: 0. * werkzeug.debug: 1. * werkzeug.exceptions: 2. -* werkzeug.formparser: 3. -* werkzeug.http: 4. -* werkzeug.local: 5. -* werkzeug.middleware: 6. -* werkzeug.middleware.dispatcher: 7. -* werkzeug.middleware.http_proxy: 8. -* werkzeug.middleware.lint: 9. -* werkzeug.middleware.profiler: a. -* werkzeug.middleware.proxy_fix: b. -* werkzeug.middleware.shared_data: c. -* werkzeug.routing: d. -* werkzeug.security: e. -* werkzeug.serving: f. -* werkzeug.test: 10. -* werkzeug.urls: 11. -* werkzeug.user_agent: 12. -* werkzeug.utils: 13. -* werkzeug.wrappers: 14. -* werkzeug.wsgi: 15. +* werkzeug.filesystem: 3. +* werkzeug.formparser: 4. +* werkzeug.http: 5. +* werkzeug.local: 6. +* werkzeug.middleware: 7. +* werkzeug.middleware.dispatcher: 8. +* werkzeug.middleware.http_proxy: 9. +* werkzeug.middleware.lint: a. +* werkzeug.middleware.profiler: b. +* werkzeug.middleware.proxy_fix: c. +* werkzeug.middleware.shared_data: d. +* werkzeug.routing: e. +* werkzeug.security: f. +* werkzeug.serving: 10. +* werkzeug.test: 11. +* werkzeug.urls: 12. +* werkzeug.user_agent: 13. +* werkzeug.useragents: 14. +* werkzeug.utils: 15. +* werkzeug.wrappers: 16. +* werkzeug.wsgi: 17.  File: werkzeug.info, Node: Index, Prev: Python Module Index, Up: Top @@ -18355,204 +18748,210 @@ Index * Menu: * _ensure_sequence() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 816) + (line 823) * _get_current_object() (werkzeug.local.LocalProxy method): Context Locals. - (line 258) + (line 278) * _get_file_stream() (werkzeug.wrappers.Request method): Wrapper Classes. - (line 50) + (line 47) * __call__() (werkzeug.exceptions.HTTPException method): Baseclass. - (line 28) + (line 26) * __call__() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 798) + (line 805) * abort() (in module werkzeug.exceptions): Simple Aborting. (line 10) * Aborter (class in werkzeug.exceptions): Simple Aborting. (line 38) -* Accept (class in werkzeug.datastructures): HTTP Related. (line 350) +* Accept (class in werkzeug.datastructures): HTTP Related. (line 352) * accept_charsets (werkzeug.wrappers.Request property): Wrapper Classes. - (line 84) + (line 81) * accept_encodings (werkzeug.wrappers.Request property): Wrapper Classes. - (line 90) + (line 87) * accept_html (werkzeug.datastructures.MIMEAccept property): HTTP Related. - (line 440) + (line 442) * accept_json (werkzeug.datastructures.MIMEAccept property): HTTP Related. - (line 444) + (line 446) * accept_languages (werkzeug.wrappers.Request property): Wrapper Classes. - (line 97) + (line 94) * accept_mimetypes (werkzeug.wrappers.Request property): Wrapper Classes. - (line 103) + (line 100) * accept_ranges (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 830) + (line 837) * accept_xhtml (werkzeug.datastructures.MIMEAccept property): HTTP Related. - (line 448) + (line 450) * access_control_allow_credentials (werkzeug.wrappers.Response property): Wrapper Classes. - (line 840) + (line 847) * access_control_allow_headers (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 846) + (line 853) * access_control_allow_methods (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 850) + (line 857) * access_control_allow_origin (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 854) + (line 861) * access_control_expose_headers (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 859) + (line 866) * access_control_max_age (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 863) + (line 870) * access_control_request_headers (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 109) + (line 106) * access_control_request_method (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 116) + (line 113) * access_route (werkzeug.wrappers.Request property): Wrapper Classes. - (line 123) + (line 120) * add() (werkzeug.datastructures.Headers method): HTTP Related. - (line 46) + (line 43) * add() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 285) + (line 287) * add() (werkzeug.datastructures.MultiDict method): General Purpose. (line 103) * add() (werkzeug.routing.Map method): Maps Rules and Adapters. (line 84) * add_etag() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 868) + (line 875) * add_file() (werkzeug.datastructures.FileMultiDict method): General Purpose. (line 431) * add_header() (werkzeug.datastructures.Headers method): HTTP Related. - (line 63) + (line 60) * age (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 885) + (line 892) * algorithm (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 680) + (line 676) * allow (werkzeug.wrappers.Response property): Wrapper Classes. - (line 894) + (line 901) * allowed_methods() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 290) + (line 289) * AnyConverter (class in werkzeug.routing): Built-in Converters. (line 60) * append_slash_redirect() (in module werkzeug.utils): General Helpers. - (line 99) + (line 136) * application() (werkzeug.wrappers.Request class method): Wrapper Classes. - (line 128) -* args (werkzeug.test.EnvironBuilder property): API. (line 551) + (line 125) +* args (werkzeug.test.EnvironBuilder property): API. (line 541) * args (werkzeug.wrappers.Request property): Wrapper Classes. - (line 153) + (line 150) * ascii_host (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 31) * as_set() (werkzeug.datastructures.ETags method): HTTP Related. - (line 569) + (line 565) * as_set() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 289) + (line 291) * auth (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 39) * Authorization (class in werkzeug.datastructures): HTTP Related. - (line 602) + (line 598) * authorization (werkzeug.wrappers.Request property): Wrapper Classes. - (line 163) + (line 160) * auth_property() (werkzeug.datastructures.WWWAuthenticate static method): HTTP Related. - (line 688) + (line 684) * autocorrect_location_header (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 902) -* automatically_set_content_length (werkzeug.wrappers.Response attribute): Wrapper Classes. (line 909) +* automatically_set_content_length (werkzeug.wrappers.Response attribute): Wrapper Classes. + (line 916) * BadGateway: Error Classes. (line 554) * BadRequest: Error Classes. (line 8) * BadRequestKeyError: Special HTTP Exceptions. (line 26) * BaseURL (class in werkzeug.urls): URL Helpers<2>. (line 11) -* base_url (werkzeug.test.EnvironBuilder property): API. (line 498) +* base_url (werkzeug.test.EnvironBuilder property): API. (line 488) * base_url (werkzeug.wrappers.Request property): Wrapper Classes. - (line 168) + (line 165) * best (werkzeug.datastructures.Accept property): HTTP Related. - (line 384) + (line 386) * best_match() (werkzeug.datastructures.Accept method): HTTP Related. - (line 388) + (line 390) * bind() (werkzeug.routing.Map method): Maps Rules and Adapters. (line 96) +* bind_arguments() (in module werkzeug.utils): General Helpers. + (line 403) * bind_to_environ() (werkzeug.routing.Map method): Maps Rules and Adapters. (line 148) +* BrokenFilesystemWarning (class in werkzeug.filesystem): Filesystem Utilities. + (line 8) * browser (werkzeug.user_agent.UserAgent attribute): User Agent API. (line 28) * build() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 302) + (line 301) * BytesURL (class in werkzeug.urls): URL Helpers<2>. (line 191) * cached_property (class in werkzeug.utils): General Helpers. (line 6) * cache_control (werkzeug.wrappers.Request property): Wrapper Classes. - (line 172) + (line 169) * cache_control (werkzeug.wrappers.Response property): Wrapper Classes. - (line 916) -* calculate_content_length() (werkzeug.wrappers.Response method): Wrapper Classes. (line 923) -* call_on_close() (werkzeug.wrappers.Response method): Wrapper Classes. +* calculate_content_length() (werkzeug.wrappers.Response method): Wrapper Classes. (line 930) +* call_on_close() (werkzeug.wrappers.Response method): Wrapper Classes. + (line 937) * CharsetAccept (class in werkzeug.datastructures): HTTP Related. - (line 452) + (line 454) * check_password_hash() (in module werkzeug.security): Security Helpers. - (line 43) + (line 45) * cleanup() (werkzeug.local.LocalManager method): Context Locals. - (line 120) + (line 124) * clear() (werkzeug.datastructures.Headers method): HTTP Related. - (line 70) + (line 67) * clear() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 300) + (line 302) * clear() (werkzeug.datastructures.MultiDict method): General Purpose. (line 116) * Client (class in werkzeug.test): API. (line 6) * ClientDisconnected: Error Classes. (line 634) * close() (werkzeug.datastructures.FileStorage method): Others. (line 38) -* close() (werkzeug.test.EnvironBuilder method): API. (line 563) +* close() (werkzeug.test.EnvironBuilder method): API. (line 553) * close() (werkzeug.wrappers.Request method): Wrapper Classes. - (line 178) + (line 175) * close() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 945) + (line 952) * ClosingIterator (class in werkzeug.wsgi): Iterator / Stream Helpers. (line 9) * cnonce (werkzeug.datastructures.Authorization property): HTTP Related. - (line 612) + (line 608) * CombinedMultiDict (class in werkzeug.datastructures): General Purpose. (line 378) * Conflict: Error Classes. (line 172) * contains() (werkzeug.datastructures.ETags method): HTTP Related. - (line 574) + (line 570) * contains_raw() (werkzeug.datastructures.ETags method): HTTP Related. - (line 579) + (line 575) * contains_weak() (werkzeug.datastructures.ETags method): HTTP Related. - (line 585) + (line 581) * ContentRange (class in werkzeug.datastructures): HTTP Related. - (line 819) + (line 815) * content_encoding (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 190) + (line 187) * content_encoding (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 955) + (line 962) * content_language (werkzeug.wrappers.Response property): Wrapper Classes. - (line 964) + (line 971) * content_length (werkzeug.datastructures.FileStorage property): Others. (line 42) * content_length (werkzeug.test.EnvironBuilder property): API. - (line 523) + (line 513) * content_length (werkzeug.wrappers.Request property): Wrapper Classes. - (line 201) + (line 198) * content_length (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 972) + (line 979) * content_location (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 980) -* content_md5 (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 208) -* content_md5 (werkzeug.wrappers.Response attribute): Wrapper Classes. (line 987) +* content_md5 (werkzeug.wrappers.Request attribute): Wrapper Classes. + (line 205) +* content_md5 (werkzeug.wrappers.Response attribute): Wrapper Classes. + (line 994) * content_range (werkzeug.wrappers.Response property): Wrapper Classes. - (line 996) + (line 1003) * content_security_policy (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1004) + (line 1011) * content_security_policy_report_only (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1014) + (line 1021) * content_type (werkzeug.datastructures.FileStorage property): Others. (line 46) -* content_type (werkzeug.test.EnvironBuilder property): API. (line 503) +* content_type (werkzeug.test.EnvironBuilder property): API. (line 493) * content_type (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 219) + (line 216) * content_type (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1025) + (line 1032) * converters (werkzeug.routing.Map attribute): Maps Rules and Adapters. (line 76) * cookies (werkzeug.wrappers.Request property): Wrapper Classes. - (line 226) + (line 223) +* cookie_date() (in module werkzeug.http): Datetime Functions. + (line 64) * copy() (werkzeug.datastructures.ImmutableDict method): General Purpose. (line 407) * copy() (werkzeug.datastructures.ImmutableMultiDict method): General Purpose. @@ -18563,21 +18962,21 @@ Index (line 54) * copy() (werkzeug.datastructures.MultiDict method): General Purpose. (line 118) -* create_environ() (in module werkzeug.test): API. (line 596) +* create_environ() (in module werkzeug.test): API. (line 586) * cross_origin_embedder_policy (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1032) + (line 1039) * cross_origin_opener_policy (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1038) + (line 1045) * data (werkzeug.wrappers.Request property): Wrapper Classes. - (line 231) + (line 228) * data (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1044) + (line 1051) * date (werkzeug.datastructures.IfRange attribute): HTTP Related. - (line 764) + (line 760) * date (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 236) + (line 233) * date (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1049) + (line 1056) * DebuggedApplication (class in werkzeug.debug): Enabling the Debugger. (line 10) * decode() (werkzeug.urls.BytesURL method): URL Helpers<2>. (line 212) @@ -18588,28 +18987,30 @@ Index * deepcopy() (werkzeug.datastructures.MultiDict method): General Purpose. (line 122) * default_converters (werkzeug.routing.Map attribute): Maps Rules and Adapters. - (line 202) -* delete() (werkzeug.test.Client method): API. (line 194) -* delete_cookie() (werkzeug.test.Client method): API. (line 81) + (line 201) +* delete() (werkzeug.test.Client method): API. (line 190) +* delete_cookie() (werkzeug.test.Client method): API. (line 77) * delete_cookie() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1057) + (line 1064) * dict_storage_class (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 244) + (line 241) * direct_passthrough (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1088) + (line 1095) +* disable_data_descriptor (werkzeug.wrappers.Request attribute): Wrapper Classes. + (line 245) * discard() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 304) + (line 306) * dispatch() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 391) + (line 390) * DispatcherMiddleware (class in werkzeug.middleware.dispatcher): Application Dispatcher. (line 28) * domain (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 700) + (line 696) * dump_cookie() (in module werkzeug.http): Cookies. (line 40) * dump_header() (in module werkzeug.http): Header Utilities. (line 143) * empty() (werkzeug.routing.Rule method): Maps Rules and Adapters. - (line 780) -* encode() (werkzeug.urls.URL method): URL Helpers<2>. (line 255) + (line 779) +* encode() (werkzeug.urls.URL method): URL Helpers<2>. (line 310) * encode_netloc() (werkzeug.urls.BaseURL method): URL Helpers<2>. (line 68) * encode_netloc() (werkzeug.urls.BytesURL method): URL Helpers<2>. @@ -18617,22 +19018,23 @@ Index * EndpointPrefix (class in werkzeug.routing): Rule Factories. (line 79) * environ (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 248) -* EnvironBuilder (class in werkzeug.test): API. (line 316) + (line 255) +* EnvironBuilder (class in werkzeug.test): API. (line 306) * EnvironHeaders (class in werkzeug.datastructures): HTTP Related. - (line 260) + (line 262) * environ_property (class in werkzeug.utils): General Helpers. - (line 41) + (line 78) +* escape() (in module werkzeug.utils): HTML Helpers. (line 35) * etag (werkzeug.datastructures.IfRange attribute): HTTP Related. - (line 768) -* ETags (class in werkzeug.datastructures): HTTP Related. (line 563) + (line 764) +* ETags (class in werkzeug.datastructures): HTTP Related. (line 559) * exhaust() (werkzeug.wsgi.LimitedStream method): Iterator / Stream Helpers. (line 111) * ExpectationFailed: Error Classes. (line 325) * expires (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1095) + (line 1102) * extend() (werkzeug.datastructures.Headers method): HTTP Related. - (line 74) + (line 71) * extract_path_info() (in module werkzeug.wsgi): Environ Helpers. (line 245) * FailedDependency: Error Classes. (line 400) @@ -18640,136 +19042,144 @@ Index (line 423) * filename (werkzeug.datastructures.FileStorage attribute): Others. (line 21) -* files (werkzeug.test.EnvironBuilder property): API. (line 533) +* files (werkzeug.test.EnvironBuilder property): API. (line 523) * files (werkzeug.wrappers.Request property): Wrapper Classes. - (line 253) + (line 260) * FileStorage (class in werkzeug.datastructures): Others. (line 6) * FileWrapper (class in werkzeug.wsgi): Iterator / Stream Helpers. (line 44) * find() (werkzeug.datastructures.Accept method): HTTP Related. - (line 402) + (line 404) * find() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 311) + (line 313) * find_modules() (in module werkzeug.utils): General Helpers. - (line 244) + (line 281) * FloatConverter (class in werkzeug.routing): Built-in Converters. (line 111) * Forbidden: Error Classes. (line 73) * force_type() (werkzeug.wrappers.Response class method): Wrapper Classes. - (line 1103) -* form (werkzeug.test.EnvironBuilder property): API. (line 529) + (line 1110) +* form (werkzeug.test.EnvironBuilder property): API. (line 519) * form (werkzeug.wrappers.Request property): Wrapper Classes. - (line 272) + (line 279) * FormDataParser (class in werkzeug.formparser): Form Data Parsing. (line 45) * form_data_parser_class (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 286) + (line 293) * freeze() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1145) + (line 1152) * fromkeys() (werkzeug.datastructures.MultiDict method): General Purpose. (line 126) * from_app() (werkzeug.wrappers.Response class method): Wrapper Classes. - (line 1169) + (line 1177) * from_environ() (werkzeug.test.EnvironBuilder class method): API. - (line 478) + (line 468) * from_values() (werkzeug.wrappers.Request class method): Wrapper Classes. - (line 290) + (line 297) * full_path (werkzeug.wrappers.Request property): Wrapper Classes. - (line 318) + (line 325) * GatewayTimeout: Error Classes. (line 598) * generate_etag() (in module werkzeug.http): Conditional Response Helpers. (line 55) * generate_password_hash() (in module werkzeug.security): Security Helpers. - (line 6) + (line 8) * get() (werkzeug.datastructures.Headers method): HTTP Related. - (line 89) + (line 86) * get() (werkzeug.datastructures.MultiDict method): General Purpose. (line 131) * get() (werkzeug.datastructures.TypeConversionDict method): General Purpose. (line 20) -* get() (werkzeug.test.Client method): API. (line 152) +* get() (werkzeug.test.Client method): API. (line 148) * getlist() (werkzeug.datastructures.Headers method): HTTP Related. - (line 125) + (line 122) * getlist() (werkzeug.datastructures.MultiDict method): General Purpose. (line 158) * get_all() (werkzeug.datastructures.Headers method): HTTP Related. - (line 118) + (line 115) * get_app_iter() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1197) + (line 1205) * get_content_length() (in module werkzeug.wsgi): Environ Helpers. (line 38) * get_current_url() (in module werkzeug.wsgi): Environ Helpers. (line 82) * get_data() (werkzeug.wrappers.Request method): Wrapper Classes. - (line 322) + (line 329) * get_data() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1220) -* get_environ() (werkzeug.test.EnvironBuilder method): API. (line 572) + (line 1228) +* get_environ() (werkzeug.test.EnvironBuilder method): API. (line 562) * get_etag() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1241) + (line 1249) +* get_filesystem_encoding() (in module werkzeug.filesystem): Filesystem Utilities. + (line 13) * get_file_location() (werkzeug.urls.BaseURL method): URL Helpers<2>. (line 75) * get_host() (in module werkzeug.wsgi): Environ Helpers. (line 9) * get_host() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 449) + (line 448) +* get_ident() (werkzeug.local.LocalManager method): Context Locals. + (line 133) * get_input_stream() (in module werkzeug.wsgi): Environ Helpers. (line 53) * get_json() (werkzeug.wrappers.Request method): Wrapper Classes. - (line 362) + (line 369) * get_json() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1250) + (line 1258) * get_path_info() (in module werkzeug.wsgi): Environ Helpers. (line 148) * get_query_string() (in module werkzeug.wsgi): Environ Helpers. (line 111) -* get_request() (werkzeug.test.EnvironBuilder method): API. (line 583) +* get_request() (werkzeug.test.EnvironBuilder method): API. (line 573) * get_response() (werkzeug.exceptions.HTTPException method): Baseclass. - (line 43) + (line 41) * get_rules() (werkzeug.routing.RuleFactory method): Rule Factories. (line 13) * get_script_name() (in module werkzeug.wsgi): Environ Helpers. (line 126) * get_wsgi_headers() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1271) + (line 1279) * get_wsgi_response() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1302) + (line 1310) * Gone: Error Classes. (line 192) -* head() (werkzeug.test.Client method): API. (line 236) +* has_key() (werkzeug.datastructures.Headers method): HTTP Related. + (line 146) +* head() (werkzeug.test.Client method): API. (line 232) * Headers (class in werkzeug.datastructures): HTTP Related. (line 6) * headers (werkzeug.datastructures.FileStorage attribute): Others. (line 29) * headers (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 387) + (line 394) * HeaderSet (class in werkzeug.datastructures): HTTP Related. - (line 271) + (line 273) * header_property (class in werkzeug.utils): General Helpers. - (line 64) -* history (werkzeug.test.TestResponse attribute): API. (line 310) + (line 101) +* history (werkzeug.test.TestResponse attribute): API. (line 300) * host (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 98) * host (werkzeug.wrappers.Request property): Wrapper Classes. - (line 391) + (line 398) * host_is_trusted() (in module werkzeug.wsgi): Environ Helpers. (line 298) * host_url (werkzeug.wrappers.Request property): Wrapper Classes. - (line 396) + (line 403) +* Href (class in werkzeug.urls): URL Helpers<2>. (line 234) +* HTMLBuilder (class in werkzeug.utils): HTML Helpers. (line 6) * HTTPException: Baseclass. (line 8) * HTTPVersionNotSupported: Error Classes. (line 616) * http_date() (in module werkzeug.http): Datetime Functions. (line 44) * HTTP_STATUS_CODES (in module werkzeug.http): Constants. (line 6) -* IfRange (class in werkzeug.datastructures): HTTP Related. (line 756) +* IfRange (class in werkzeug.datastructures): HTTP Related. (line 752) * if_match (werkzeug.wrappers.Request property): Wrapper Classes. - (line 400) -* if_modified_since (werkzeug.wrappers.Request property): Wrapper Classes. (line 407) +* if_modified_since (werkzeug.wrappers.Request property): Wrapper Classes. + (line 414) * if_none_match (werkzeug.wrappers.Request property): Wrapper Classes. - (line 413) + (line 420) * if_range (werkzeug.wrappers.Request property): Wrapper Classes. - (line 422) + (line 429) * if_unmodified_since (werkzeug.wrappers.Request property): Wrapper Classes. - (line 430) + (line 437) * ImATeapot: Error Classes. (line 345) * immutable (werkzeug.datastructures.ResponseCacheControl property): HTTP Related. - (line 539) + (line 535) * ImmutableDict (class in werkzeug.datastructures): General Purpose. (line 401) * ImmutableList (class in werkzeug.datastructures): General Purpose. @@ -18781,26 +19191,28 @@ Index * ImmutableTypeConversionDict (class in werkzeug.datastructures): General Purpose. (line 47) * implicit_sequence_conversion (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1325) + (line 1333) * import_string() (in module werkzeug.utils): General Helpers. - (line 218) + (line 255) * index() (werkzeug.datastructures.Accept method): HTTP Related. - (line 409) + (line 411) * index() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 319) -* input_stream (werkzeug.test.EnvironBuilder property): API. (line 539) + (line 321) +* input_stream (werkzeug.test.EnvironBuilder property): API. (line 529) * input_stream (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 436) + (line 443) * IntegerConverter (class in werkzeug.routing): Built-in Converters. (line 78) * InternalServerError: Error Classes. (line 507) -* iri_to_uri() (in module werkzeug.urls): URL Helpers<2>. (line 270) +* invalidate_cached_property() (in module werkzeug.utils): General Helpers. + (line 41) +* iri_to_uri() (in module werkzeug.urls): URL Helpers<2>. (line 325) * is_allowed() (werkzeug.middleware.shared_data.SharedDataMiddleware method): Serve Shared Static Files. (line 84) * is_byte_range_valid() (in module werkzeug.http): Header Utilities. (line 83) * is_endpoint_expecting() (werkzeug.routing.Map method): Maps Rules and Adapters. - (line 213) + (line 212) * is_entity_header() (in module werkzeug.http): Header Utilities. (line 12) * is_exhausted (werkzeug.wsgi.LimitedStream property): Iterator / Stream Helpers. @@ -18808,56 +19220,56 @@ Index * is_hop_by_hop_header() (in module werkzeug.http): Header Utilities. (line 27) * is_json (werkzeug.wrappers.Request property): Wrapper Classes. - (line 444) + (line 451) * is_json (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1336) + (line 1344) * is_multiprocess (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 449) + (line 456) * is_multithread (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 454) + (line 461) * is_resource_modified() (in module werkzeug.http): Conditional Response Helpers. (line 68) * is_running_from_reloader() (in module werkzeug.serving): Serving WSGI Applications. - (line 141) + (line 130) * is_run_once (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 459) -* is_secure (werkzeug.wrappers.Request property): Wrapper Classes. (line 466) +* is_secure (werkzeug.wrappers.Request property): Wrapper Classes. + (line 473) * is_sequence (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1341) -* is_streamed (werkzeug.wrappers.Response property): Wrapper Classes. (line 1349) +* is_streamed (werkzeug.wrappers.Response property): Wrapper Classes. + (line 1357) * is_strong() (werkzeug.datastructures.ETags method): HTTP Related. - (line 590) + (line 586) * is_weak() (werkzeug.datastructures.ETags method): HTTP Related. - (line 594) + (line 590) * items() (werkzeug.datastructures.MultiDict method): General Purpose. (line 177) * iter_encoded() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1360) + (line 1368) * iter_rules() (werkzeug.routing.Map method): Maps Rules and Adapters. - (line 234) + (line 233) * join() (werkzeug.urls.BaseURL method): URL Helpers<2>. (line 104) * json (werkzeug.wrappers.Request property): Wrapper Classes. - (line 471) -* json (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1370) -* json_dumps() (werkzeug.test.EnvironBuilder static method): API. - (line 471) -* json_module (werkzeug.wrappers.Request attribute): Wrapper Classes. (line 478) +* json (werkzeug.wrappers.Response property): Wrapper Classes. + (line 1378) +* json_dumps() (werkzeug.test.EnvironBuilder static method): API. + (line 461) +* json_module (werkzeug.wrappers.Request attribute): Wrapper Classes. + (line 485) * json_module (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1377) + (line 1385) * keys() (werkzeug.datastructures.MultiDict method): General Purpose. (line 186) * language (werkzeug.user_agent.UserAgent attribute): User Agent API. (line 36) * LanguageAccept (class in werkzeug.datastructures): HTTP Related. - (line 456) + (line 458) * last_modified (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1383) + (line 1391) * length (werkzeug.datastructures.ContentRange property): HTTP Related. - (line 826) + (line 822) * LengthRequired: Error Classes. (line 210) * LimitedStream (class in werkzeug.wsgi): Iterator / Stream Helpers. (line 70) @@ -18868,83 +19280,85 @@ Index * listvalues() (werkzeug.datastructures.MultiDict method): General Purpose. (line 194) * list_storage_class (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 484) + (line 491) * LocalManager (class in werkzeug.local): Context Locals. (line 96) -* LocalProxy (class in werkzeug.local): Context Locals. (line 214) -* LocalStack (class in werkzeug.local): Context Locals. (line 160) +* LocalProxy (class in werkzeug.local): Context Locals. (line 234) +* LocalStack (class in werkzeug.local): Context Locals. (line 180) * location (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1391) + (line 1399) * Locked: Error Classes. (line 383) * lock_class() (werkzeug.routing.Map method): Maps Rules and Adapters. - (line 248) + (line 247) * make_alias_redirect_url() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 461) + (line 460) * make_chunk_iter() (in module werkzeug.wsgi): Iterator / Stream Helpers. (line 245) * make_conditional() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1397) + (line 1405) * make_content_range() (werkzeug.datastructures.Range method): HTTP Related. - (line 790) + (line 786) * make_form_data_parser() (werkzeug.wrappers.Request method): Wrapper Classes. - (line 488) + (line 495) * make_line_iter() (in module werkzeug.wsgi): Iterator / Stream Helpers. (line 200) * make_middleware() (werkzeug.local.LocalManager method): Context Locals. - (line 129) + (line 149) * make_sequence() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1452) + (line 1459) * make_ssl_devcert() (in module werkzeug.serving): Serving WSGI Applications. - (line 151) + (line 140) * Map (class in werkzeug.routing): Maps Rules and Adapters. (line 6) * MapAdapter (class in werkzeug.routing): Maps Rules and Adapters. - (line 262) + (line 261) * match() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 483) + (line 482) * max_age (werkzeug.datastructures.RequestCacheControl attribute): HTTP Related. - (line 485) + (line 484) * max_age (werkzeug.datastructures.ResponseCacheControl attribute): HTTP Related. - (line 531) + (line 527) * max_content_length (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 498) + (line 505) * max_form_memory_size (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 512) + (line 519) * max_forwards (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 525) -* max_stale (werkzeug.datastructures.RequestCacheControl property): HTTP Related. - (line 493) -* method (werkzeug.wrappers.Request attribute): Wrapper Classes. (line 532) +* max_stale (werkzeug.datastructures.RequestCacheControl property): HTTP Related. + (line 492) +* method (werkzeug.wrappers.Request attribute): Wrapper Classes. + (line 539) * MethodNotAllowed: Error Classes. (line 108) * middleware() (werkzeug.local.LocalManager method): Context Locals. - (line 140) + (line 160) * MIMEAccept (class in werkzeug.datastructures): HTTP Related. - (line 435) + (line 437) * mimetype (werkzeug.datastructures.FileStorage property): Others. (line 50) -* mimetype (werkzeug.test.EnvironBuilder property): API. (line 509) +* mimetype (werkzeug.test.EnvironBuilder property): API. (line 499) * mimetype (werkzeug.wrappers.Request property): Wrapper Classes. - (line 536) + (line 543) * mimetype (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1465) + (line 1472) * mimetype_params (werkzeug.datastructures.FileStorage property): Others. (line 59) * mimetype_params (werkzeug.test.EnvironBuilder property): API. - (line 515) + (line 505) * mimetype_params (werkzeug.wrappers.Request property): Wrapper Classes. - (line 543) + (line 550) * mimetype_params (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1469) + (line 1476) * min_fresh (werkzeug.datastructures.RequestCacheControl property): HTTP Related. - (line 497) + (line 496) * module; werkzeug.datastructures: Data Structures. (line 6) * module; werkzeug.debug: Debugging Applications. (line 6) * module; werkzeug.exceptions: HTTP Exceptions. (line 6) +* module; werkzeug.filesystem: Filesystem Utilities. + (line 6) * module; werkzeug.formparser: Form Data Parsing. (line 6) * module; werkzeug.http: HTTP Utilities. (line 6) * module; werkzeug.local: Context Locals. (line 6) -* module; werkzeug.middleware: Context Locals. (line 267) +* module; werkzeug.middleware: Context Locals. (line 287) * module; werkzeug.middleware.dispatcher: Serve Shared Static Files. (line 95) * module; werkzeug.middleware.http_proxy: Application Dispatcher. @@ -18961,60 +19375,62 @@ Index (line 6) * module; werkzeug.test: Unix Sockets. (line 11) * module; werkzeug.urls: URL Helpers<2>. (line 6) +* module; werkzeug.useragents: UserAgent Parsing deprecated. + (line 6) * module; werkzeug.user_agent: User Agent API. (line 6) -* module; werkzeug.utils: Utilities. (line 6) +* module; werkzeug.utils: HTML Helpers. (line 6) * module; werkzeug.wrappers: Request / Response Objects. (line 6) * module; werkzeug.wsgi: WSGI Helpers. (line 6) * MultiDict (class in werkzeug.datastructures): General Purpose. (line 61) * must_revalidate (werkzeug.datastructures.ResponseCacheControl property): HTTP Related. - (line 543) + (line 539) * name (werkzeug.datastructures.FileStorage attribute): Others. (line 25) * nc (werkzeug.datastructures.Authorization property): HTTP Related. - (line 618) + (line 614) * nonce (werkzeug.datastructures.Authorization property): HTTP Related. - (line 623) + (line 619) * nonce (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 706) + (line 702) * NotAcceptable: Error Classes. (line 137) * NotFound: Error Classes. (line 91) * NotImplemented: Error Classes. (line 536) * no_cache (werkzeug.datastructures.RequestCacheControl attribute): HTTP Related. - (line 477) + (line 476) * no_cache (werkzeug.datastructures.ResponseCacheControl attribute): HTTP Related. - (line 523) + (line 519) * no_store (werkzeug.datastructures.RequestCacheControl attribute): HTTP Related. - (line 481) + (line 480) * no_store (werkzeug.datastructures.ResponseCacheControl attribute): HTTP Related. - (line 527) + (line 523) * no_transform (werkzeug.datastructures.RequestCacheControl attribute): HTTP Related. - (line 489) + (line 488) * no_transform (werkzeug.datastructures.ResponseCacheControl attribute): HTTP Related. - (line 535) + (line 531) * only_if_cached (werkzeug.datastructures.RequestCacheControl property): HTTP Related. - (line 501) + (line 500) * on_disconnect() (werkzeug.wsgi.LimitedStream method): Iterator / Stream Helpers. (line 128) * on_exhausted() (werkzeug.wsgi.LimitedStream method): Iterator / Stream Helpers. (line 138) * on_json_loading_failed() (werkzeug.wrappers.Request method): Wrapper Classes. - (line 549) + (line 556) * opaque (werkzeug.datastructures.Authorization property): HTTP Related. - (line 629) + (line 625) * opaque (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 712) -* open() (werkzeug.test.Client method): API. (line 106) -* options() (werkzeug.test.Client method): API. (line 222) + (line 708) +* open() (werkzeug.test.Client method): API. (line 102) +* options() (werkzeug.test.Client method): API. (line 218) * OrderedMultiDict (class in werkzeug.datastructures): General Purpose. (line 337) * origin (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 562) + (line 569) * original_exception (werkzeug.exceptions.InternalServerError attribute): Error Classes. (line 530) * parameter_storage_class (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 568) + (line 575) * parse_accept_header() (in module werkzeug.http): Header Parsing<2>. (line 146) * parse_authorization_header() (in module werkzeug.http): Header Parsing<2>. @@ -19045,24 +19461,28 @@ Index * parse_www_authenticate_header() (in module werkzeug.http): Header Parsing<2>. (line 224) * password (werkzeug.datastructures.Authorization property): HTTP Related. - (line 635) + (line 631) * password (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 120) -* patch() (werkzeug.test.Client method): API. (line 208) +* patch() (werkzeug.test.Client method): API. (line 204) * path (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 572) + (line 579) * PathConverter (class in werkzeug.routing): Built-in Converters. (line 40) +* pbkdf2_bin() (in module werkzeug.security): Security Helpers. + (line 141) +* pbkdf2_hex() (in module werkzeug.security): Security Helpers. + (line 109) * peek_path_info() (in module werkzeug.wsgi): Environ Helpers. (line 212) * platform (werkzeug.user_agent.UserAgent attribute): User Agent API. (line 24) * pop() (werkzeug.datastructures.Headers method): HTTP Related. - (line 149) + (line 151) * pop() (werkzeug.datastructures.MultiDict method): General Purpose. (line 204) -* pop() (werkzeug.local.LocalStack method): Context Locals. (line 191) +* pop() (werkzeug.local.LocalStack method): Context Locals. (line 211) * popitem() (werkzeug.datastructures.Headers method): HTTP Related. - (line 162) + (line 164) * popitem() (werkzeug.datastructures.MultiDict method): General Purpose. (line 223) * popitemlist() (werkzeug.datastructures.MultiDict method): General Purpose. @@ -19072,13 +19492,13 @@ Index * pop_path_info() (in module werkzeug.wsgi): Environ Helpers. (line 170) * port (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 125) -* post() (werkzeug.test.Client method): API. (line 166) +* post() (werkzeug.test.Client method): API. (line 162) * pragma (werkzeug.wrappers.Request property): Wrapper Classes. - (line 577) + (line 584) * PreconditionFailed: Error Classes. (line 228) * PreconditionRequired: Error Classes. (line 419) * private (werkzeug.datastructures.ResponseCacheControl property): HTTP Related. - (line 547) + (line 543) * ProfilerMiddleware (class in werkzeug.middleware.profiler): Application Profiler. (line 10) * ProxyFix (class in werkzeug.middleware.proxy_fix): X-Forwarded-For Proxy Fix. @@ -19086,11 +19506,11 @@ Index * ProxyMiddleware (class in werkzeug.middleware.http_proxy): Basic HTTP Proxy. (line 6) * proxy_revalidate (werkzeug.datastructures.ResponseCacheControl property): HTTP Related. - (line 551) + (line 547) * public (werkzeug.datastructures.ResponseCacheControl property): HTTP Related. - (line 555) -* push() (werkzeug.local.LocalStack method): Context Locals. (line 199) -* put() (werkzeug.test.Client method): API. (line 180) + (line 551) +* push() (werkzeug.local.LocalStack method): Context Locals. (line 219) +* put() (werkzeug.test.Client method): API. (line 176) * Python Enhancement Proposals; PEP 333: Iterator / Stream Helpers. (line 296) * Python Enhancement Proposals; PEP 3333: Quickstart. (line 8) @@ -19103,28 +19523,26 @@ Index (line 7) * Python Enhancement Proposals; PEP 3333 <5>: WSGI. (line 7) * Python Enhancement Proposals; PEP 519: Version 1 0 0. (line 95) -* Python Enhancement Proposals; PEP 538: Version 2 1 0. (line 70) -* Python Enhancement Proposals; PEP 540: Version 2 1 0. (line 70) * qop (werkzeug.datastructures.Authorization property): HTTP Related. - (line 640) + (line 636) * qop (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 720) + (line 716) * quality() (werkzeug.datastructures.Accept method): HTTP Related. - (line 419) -* query_string (werkzeug.test.EnvironBuilder property): API. (line 546) + (line 421) +* query_string (werkzeug.test.EnvironBuilder property): API. (line 536) * query_string (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 586) + (line 593) * quote_etag() (in module werkzeug.http): Conditional Response Helpers. (line 22) * quote_header_value() (in module werkzeug.http): Header Utilities. (line 101) -* Range (class in werkzeug.datastructures): HTTP Related. (line 777) +* Range (class in werkzeug.datastructures): HTTP Related. (line 773) * range (werkzeug.wrappers.Request property): Wrapper Classes. - (line 591) + (line 598) * ranges (werkzeug.datastructures.Range attribute): HTTP Related. - (line 801) + (line 797) * range_for_length() (werkzeug.datastructures.Range method): HTTP Related. - (line 795) + (line 791) * raw_password (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 130) * raw_username (werkzeug.urls.BaseURL property): URL Helpers<2>. @@ -19138,49 +19556,49 @@ Index * readlines() (werkzeug.wsgi.LimitedStream method): Iterator / Stream Helpers. (line 178) * realm (werkzeug.datastructures.Authorization property): HTTP Related. - (line 647) + (line 643) * realm (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 725) -* redirect() (in module werkzeug.utils): General Helpers. (line 69) + (line 721) +* redirect() (in module werkzeug.utils): General Helpers. (line 106) * referrer (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 601) + (line 608) * release_local() (in module werkzeug.local): Context Locals. (line 69) * remote_addr (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 608) + (line 615) * remote_user (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 612) + (line 619) * remove() (werkzeug.datastructures.Headers method): HTTP Related. - (line 166) + (line 168) * remove() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 327) + (line 329) * remove_entity_headers() (in module werkzeug.http): Header Utilities. (line 43) * remove_hop_by_hop_headers() (in module werkzeug.http): Header Utilities. (line 67) * replace() (werkzeug.urls.BaseURL method): URL Helpers<2>. (line 140) * Request (class in werkzeug.wrappers): Wrapper Classes. (line 6) -* request (werkzeug.test.TestResponse attribute): API. (line 304) +* request (werkzeug.test.TestResponse attribute): API. (line 294) * RequestCacheControl (class in werkzeug.datastructures): HTTP Related. - (line 460) + (line 462) * RequestedRangeNotSatisfiable: Error Classes. (line 299) * RequestEntityTooLarge: Error Classes. (line 246) * RequestHeaderFieldsTooLarge: Error Classes. (line 470) * RequestTimeout: Error Classes. (line 155) * RequestURITooLarge: Error Classes. (line 264) * request_class (werkzeug.test.EnvironBuilder attribute): API. - (line 467) + (line 457) * responder() (in module werkzeug.wsgi): Convenience Helpers. (line 6) -* Response (class in werkzeug.wrappers): Wrapper Classes. (line 716) +* Response (class in werkzeug.wrappers): Wrapper Classes. (line 723) * response (werkzeug.datastructures.Authorization property): HTTP Related. - (line 651) + (line 647) * response (werkzeug.wrappers.Response attribute): Wrapper Classes. - (line 1477) + (line 1484) * ResponseCacheControl (class in werkzeug.datastructures): HTTP Related. - (line 505) + (line 504) * retry_after (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1489) + (line 1496) * RFC; RFC 2231: Header Parsing<2>. (line 23) * RFC; RFC 2231 <1>: Version 0 15 0. (line 55) * RFC; RFC 2616: Quickstart. (line 8) @@ -19188,120 +19606,124 @@ Index * RFC; RFC 2616 <2>: Header Utilities. (line 48) * RFC; RFC 2822: Datetime Functions. (line 26) * RFC; RFC 2822 <1>: Datetime Functions. (line 46) -* RFC; RFC 3986: Version 2 1 0. (line 92) +* RFC; RFC 2822 <2>: Datetime Functions. (line 66) * RFC; RFC 3987: Version 0 15 0. (line 61) * RFC; RFC 6265: Version 2 0 0. (line 167) * RFC; RFC 7233: Version 1 0 0. (line 136) * root_path (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 618) + (line 625) * root_url (werkzeug.wrappers.Request property): Wrapper Classes. - (line 623) + (line 630) * Rule (class in werkzeug.routing): Maps Rules and Adapters. - (line 604) + (line 603) * RuleFactory (class in werkzeug.routing): Rule Factories. (line 6) * RuleTemplate (class in werkzeug.routing): Rule Templates. (line 6) * run_simple() (in module werkzeug.serving): Serving WSGI Applications. (line 23) -* run_wsgi_app() (in module werkzeug.test): API. (line 622) +* run_wsgi_app() (in module werkzeug.test): API. (line 612) * safe_join() (in module werkzeug.security): Security Helpers. - (line 64) + (line 90) +* safe_str_cmp() (in module werkzeug.security): Security Helpers. + (line 66) * save() (werkzeug.datastructures.FileStorage method): Others. (line 67) * scheme (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 628) + (line 635) * script_root (werkzeug.wrappers.Request property): Wrapper Classes. - (line 633) + (line 640) * secure_filename() (in module werkzeug.utils): General Helpers. - (line 275) + (line 373) * SecurityError: Error Classes. (line 660) -* send_file() (in module werkzeug.utils): General Helpers. (line 116) +* send_file() (in module werkzeug.utils): General Helpers. (line 153) * server (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 638) -* server_name (werkzeug.test.EnvironBuilder property): API. (line 555) -* server_port (werkzeug.test.EnvironBuilder property): API. (line 559) + (line 645) +* server_name (werkzeug.test.EnvironBuilder property): API. (line 545) +* server_port (werkzeug.test.EnvironBuilder property): API. (line 549) * server_protocol (werkzeug.test.EnvironBuilder attribute): API. - (line 459) + (line 449) * ServiceUnavailable: Error Classes. (line 573) * set() (werkzeug.datastructures.ContentRange method): HTTP Related. - (line 830) + (line 826) * set() (werkzeug.datastructures.Headers method): HTTP Related. - (line 173) + (line 175) * setdefault() (werkzeug.datastructures.Headers method): HTTP Related. - (line 193) + (line 195) * setdefault() (werkzeug.datastructures.MultiDict method): General Purpose. (line 239) * setlist() (werkzeug.datastructures.Headers method): HTTP Related. - (line 207) + (line 209) * setlist() (werkzeug.datastructures.MultiDict method): General Purpose. (line 253) * setlistdefault() (werkzeug.datastructures.Headers method): HTTP Related. - (line 220) + (line 222) * setlistdefault() (werkzeug.datastructures.MultiDict method): General Purpose. (line 274) * set_basic() (werkzeug.datastructures.WWWAuthenticate method): HTTP Related. - (line 733) -* set_cookie() (werkzeug.test.Client method): API. (line 43) + (line 729) +* set_cookie() (werkzeug.test.Client method): API. (line 39) * set_cookie() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1500) + (line 1507) * set_data() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1550) + (line 1557) * set_digest() (werkzeug.datastructures.WWWAuthenticate method): HTTP Related. - (line 737) + (line 733) * set_etag() (werkzeug.wrappers.Response method): Wrapper Classes. - (line 1564) + (line 1571) * shallow (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 643) + (line 650) * SharedDataMiddleware (class in werkzeug.middleware.shared_data): Serve Shared Static Files. (line 6) * stale (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 742) + (line 738) * start (werkzeug.datastructures.ContentRange property): HTTP Related. - (line 834) + (line 830) * status (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1578) + (line 1585) * status_code (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1582) + (line 1589) * stop (werkzeug.datastructures.ContentRange property): HTTP Related. - (line 838) + (line 834) * stream (werkzeug.datastructures.FileStorage attribute): Others. (line 16) * stream (werkzeug.wrappers.Request property): Wrapper Classes. - (line 649) + (line 656) * stream (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1586) + (line 1593) * string (werkzeug.user_agent.UserAgent attribute): User Agent API. (line 40) * Subdomain (class in werkzeug.routing): Rule Factories. (line 24) * Submount (class in werkzeug.routing): Rule Factories. (line 54) * s_maxage (werkzeug.datastructures.ResponseCacheControl property): HTTP Related. - (line 559) + (line 555) * tell() (werkzeug.wsgi.LimitedStream method): Iterator / Stream Helpers. (line 191) * test() (werkzeug.routing.MapAdapter method): Maps Rules and Adapters. - (line 586) -* TestResponse (class in werkzeug.test): API. (line 264) + (line 585) +* TestResponse (class in werkzeug.test): API. (line 260) * test_app() (in module werkzeug.testapp): Convenience Helpers. (line 24) * TooManyRequests: Error Classes. (line 442) -* top (werkzeug.local.LocalStack property): Context Locals. (line 209) +* top (werkzeug.local.LocalStack property): Context Locals. (line 229) * to_content_range_header() (werkzeug.datastructures.Range method): HTTP Related. - (line 806) + (line 802) * to_dict() (werkzeug.datastructures.MultiDict method): General Purpose. (line 298) * to_header() (werkzeug.datastructures.Accept method): HTTP Related. - (line 427) + (line 429) * to_header() (werkzeug.datastructures.Authorization method): HTTP Related. - (line 657) + (line 653) * to_header() (werkzeug.datastructures.ETags method): HTTP Related. - (line 598) + (line 594) * to_header() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 338) + (line 340) * to_header() (werkzeug.datastructures.IfRange method): HTTP Related. - (line 773) + (line 769) * to_header() (werkzeug.datastructures.Range method): HTTP Related. - (line 811) + (line 807) * to_header() (werkzeug.datastructures.WWWAuthenticate method): HTTP Related. - (line 747) + (line 743) +* to_header() (werkzeug.useragents.UserAgent method): UserAgent Parsing deprecated. + (line 32) * to_header() (werkzeug.user_agent.UserAgent method): User Agent API. (line 44) * to_iri_tuple() (werkzeug.urls.BaseURL method): URL Helpers<2>. @@ -19310,3264 +19732,3345 @@ Index (line 165) * to_url() (werkzeug.urls.BaseURL method): URL Helpers<2>. (line 177) * to_wsgi_list() (werkzeug.datastructures.Headers method): HTTP Related. - (line 239) -* trace() (werkzeug.test.Client method): API. (line 250) + (line 241) +* trace() (werkzeug.test.Client method): API. (line 246) * type (werkzeug.datastructures.WWWAuthenticate property): HTTP Related. - (line 751) + (line 747) * TypeConversionDict (class in werkzeug.datastructures): General Purpose. (line 11) * Unauthorized: Error Classes. (line 26) * UnavailableForLegalReasons: Error Classes. (line 489) +* unescape() (in module werkzeug.utils): HTML Helpers. (line 50) * UnicodeConverter (class in werkzeug.routing): Built-in Converters. (line 10) * units (werkzeug.datastructures.ContentRange property): HTTP Related. - (line 843) + (line 839) * units (werkzeug.datastructures.Range attribute): HTTP Related. - (line 815) + (line 811) * UnprocessableEntity: Error Classes. (line 365) * unquote_etag() (in module werkzeug.http): Conditional Response Helpers. (line 36) * unquote_header_value() (in module werkzeug.http): Header Utilities. (line 123) * unset() (werkzeug.datastructures.ContentRange method): HTTP Related. - (line 847) + (line 843) * UnsupportedMediaType: Error Classes. (line 281) * update() (werkzeug.datastructures.Headers method): HTTP Related. - (line 246) + (line 248) * update() (werkzeug.datastructures.HeaderSet method): HTTP Related. - (line 342) + (line 344) * update() (werkzeug.datastructures.MultiDict method): General Purpose. (line 312) * update() (werkzeug.routing.Map method): Maps Rules and Adapters. - (line 254) + (line 253) * uri (werkzeug.datastructures.Authorization property): HTTP Related. - (line 664) -* uri_to_iri() (in module werkzeug.urls): URL Helpers<2>. (line 321) -* URL (class in werkzeug.urls): URL Helpers<2>. (line 234) -* url (werkzeug.wrappers.Request property): Wrapper Classes. (line 667) + (line 660) +* uri_to_iri() (in module werkzeug.urls): URL Helpers<2>. (line 376) +* URL (class in werkzeug.urls): URL Helpers<2>. (line 289) +* url (werkzeug.wrappers.Request property): Wrapper Classes. (line 674) * url_charset (werkzeug.wrappers.Request property): Wrapper Classes. - (line 672) -* url_decode() (in module werkzeug.urls): URL Helpers<2>. (line 352) -* url_decode_stream() (in module werkzeug.urls): URL Helpers<2>. - (line 388) -* url_encode() (in module werkzeug.urls): URL Helpers<2>. (line 429) -* url_encode_stream() (in module werkzeug.urls): URL Helpers<2>. - (line 465) -* url_fix() (in module werkzeug.urls): URL Helpers<2>. (line 505) -* url_join() (in module werkzeug.urls): URL Helpers<2>. (line 526) -* url_parse() (in module werkzeug.urls): URL Helpers<2>. (line 547) -* url_quote() (in module werkzeug.urls): URL Helpers<2>. (line 571) -* url_quote_plus() (in module werkzeug.urls): URL Helpers<2>. - (line 598) -* url_root (werkzeug.wrappers.Request property): Wrapper Classes. (line 679) -* url_unparse() (in module werkzeug.urls): URL Helpers<2>. (line 620) -* url_unquote() (in module werkzeug.urls): URL Helpers<2>. (line 634) +* url_decode() (in module werkzeug.urls): URL Helpers<2>. (line 407) +* url_decode_stream() (in module werkzeug.urls): URL Helpers<2>. + (line 446) +* url_encode() (in module werkzeug.urls): URL Helpers<2>. (line 491) +* url_encode_stream() (in module werkzeug.urls): URL Helpers<2>. + (line 529) +* url_fix() (in module werkzeug.urls): URL Helpers<2>. (line 572) +* url_join() (in module werkzeug.urls): URL Helpers<2>. (line 593) +* url_parse() (in module werkzeug.urls): URL Helpers<2>. (line 614) +* url_quote() (in module werkzeug.urls): URL Helpers<2>. (line 638) +* url_quote_plus() (in module werkzeug.urls): URL Helpers<2>. + (line 665) +* url_root (werkzeug.wrappers.Request property): Wrapper Classes. + (line 686) +* url_unparse() (in module werkzeug.urls): URL Helpers<2>. (line 687) +* url_unquote() (in module werkzeug.urls): URL Helpers<2>. (line 701) * url_unquote_plus() (in module werkzeug.urls): URL Helpers<2>. - (line 658) + (line 725) +* UserAgent (class in werkzeug.useragents): UserAgent Parsing deprecated. + (line 10) * UserAgent (class in werkzeug.user_agent): User Agent API. (line 6) * username (werkzeug.datastructures.Authorization property): HTTP Related. - (line 670) + (line 666) * username (werkzeug.urls.BaseURL property): URL Helpers<2>. (line 186) * user_agent (werkzeug.wrappers.Request property): Wrapper Classes. - (line 684) + (line 691) * user_agent_class (werkzeug.wrappers.Request attribute): Wrapper Classes. - (line 695) + (line 702) * UUIDConverter (class in werkzeug.routing): Built-in Converters. (line 139) +* validate_arguments() (in module werkzeug.utils): General Helpers. + (line 312) * values (werkzeug.wrappers.Request property): Wrapper Classes. - (line 699) + (line 706) * values() (werkzeug.datastructures.Accept method): HTTP Related. - (line 431) + (line 433) * values() (werkzeug.datastructures.MultiDict method): General Purpose. (line 332) * vary (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1590) + (line 1597) * version (werkzeug.user_agent.UserAgent attribute): User Agent API. (line 32) * want_form_data_parsed (werkzeug.wrappers.Request property): Wrapper Classes. - (line 709) + (line 716) * wrap_file() (in module werkzeug.wsgi): Iterator / Stream Helpers. (line 283) * wsgi_version (werkzeug.test.EnvironBuilder attribute): API. - (line 463) + (line 453) * WWWAuthenticate (class in werkzeug.datastructures): HTTP Related. - (line 675) + (line 671) * www_authenticate (werkzeug.wrappers.Response property): Wrapper Classes. - (line 1597) + (line 1604)  Tag Table: -Node: Top328 -Ref: index doc504 -Ref: 16504 -Ref: Top-Footnote-17625 -Node: Getting Started7672 -Ref: index getting-started7769 -Ref: 177769 -Ref: index werkzeug7769 -Ref: 187769 -Ref: index wsgi7769 -Ref: 197769 -Node: Installation7957 -Ref: installation doc8049 -Ref: 1a8049 -Ref: installation installation8049 -Ref: 1b8049 -Node: Python Version8176 -Ref: installation python-version8262 -Ref: 1c8262 -Node: Dependencies8396 -Ref: installation dependencies8511 -Ref: 1d8511 -Node: Optional dependencies8648 -Ref: installation optional-dependencies8737 -Ref: 1e8737 -Ref: Optional dependencies-Footnote-19194 -Ref: Optional dependencies-Footnote-29237 -Node: greenlet9280 -Ref: installation greenlet9369 -Ref: 1f9369 -Ref: installation watchdog9369 -Ref: 209369 -Node: Virtual environments9711 -Ref: installation virtual-environments9828 -Ref: 219828 -Ref: Virtual environments-Footnote-110651 -Node: Create an environment10715 -Ref: installation create-an-environment10828 -Ref: 2210828 -Node: Activate the environment11050 -Ref: installation activate-the-environment11163 -Ref: 2311163 -Node: Install Werkzeug11449 -Ref: installation install-werkzeug11545 -Ref: 2411545 -Node: Werkzeug Tutorial11701 -Ref: tutorial doc11812 -Ref: 2511812 -Ref: tutorial werkzeug-tutorial11812 -Ref: 2611812 -Ref: Werkzeug Tutorial-Footnote-113360 -Ref: Werkzeug Tutorial-Footnote-213389 -Ref: Werkzeug Tutorial-Footnote-313421 -Ref: Werkzeug Tutorial-Footnote-413447 -Node: Introducing Shortly13498 -Ref: tutorial introducing-shortly13614 -Ref: 2713614 -Ref: Introducing Shortly-Footnote-114296 -Ref: Introducing Shortly-Footnote-214322 -Node: Step 0 A Basic WSGI Introduction14348 -Ref: tutorial redis14500 -Ref: 2814500 -Ref: tutorial step-0-a-basic-wsgi-introduction14500 -Ref: 2914500 -Node: Step 1 Creating the Folders16433 -Ref: tutorial step-1-creating-the-folders16591 -Ref: 2a16591 -Node: Step 2 The Base Structure17252 -Ref: tutorial step-2-the-base-structure17412 -Ref: 2b17412 -Node: Intermezzo Running the Application20878 -Ref: tutorial intermezzo-running-the-application21033 -Ref: 2c21033 -Node: Step 3 The Environment21554 -Ref: tutorial step-3-the-environment21702 -Ref: 2d21702 -Node: Step 4 The Routing22523 -Ref: tutorial step-4-the-routing22658 -Ref: 2e22658 -Node: Step 5 The First View25312 -Ref: tutorial step-5-the-first-view25445 -Ref: 3325445 -Node: Step 6 Redirect View27732 -Ref: tutorial step-6-redirect-view27865 -Ref: 3427865 -Node: Step 7 Detail View28589 -Ref: tutorial step-7-detail-view28717 -Ref: 3528717 -Ref: Step 7 Detail View-Footnote-129597 -Node: Step 8 Templates29658 -Ref: tutorial step-8-templates29782 -Ref: 3629782 -Node: Step 9 The Style31438 -Ref: tutorial step-9-the-style31561 -Ref: 3731561 -Node: Bonus Refinements32714 -Ref: tutorial bonus-refinements32812 -Ref: 3832812 -Ref: Bonus Refinements-Footnote-133110 -Node: API Levels33181 -Ref: levels doc33290 -Ref: 3933290 -Ref: levels api-levels33290 -Ref: 3a33290 -Node: Example33709 -Ref: levels example33786 -Ref: 3b33786 -Node: High or Low?35378 -Ref: levels high-or-low35455 -Ref: 3c35455 -Node: Quickstart36111 -Ref: quickstart doc36219 -Ref: 3d36219 -Ref: quickstart quickstart36219 -Ref: 3e36219 -Ref: Quickstart-Footnote-136496 -Ref: Quickstart-Footnote-236545 -Node: WSGI Environment36594 -Ref: quickstart wsgi-environment36705 -Ref: 3f36705 -Node: Enter Request37463 -Ref: quickstart enter-request37578 -Ref: 4037578 -Node: Header Parsing39864 -Ref: quickstart header-parsing39972 -Ref: 4139972 -Node: Responses42197 -Ref: quickstart responses42283 -Ref: 4242283 -Node: Serving and Testing46253 -Ref: index serving-and-testing46356 -Ref: 4346356 -Node: Serving WSGI Applications46498 -Ref: serving doc46615 -Ref: 4446615 -Ref: serving module-werkzeug serving46615 -Ref: f46615 -Ref: serving serving-wsgi-applications46615 -Ref: 4546615 -Ref: serving werkzeug serving run_simple47371 -Ref: 4647371 -Ref: serving werkzeug serving is_running_from_reloader52840 -Ref: 4752840 -Ref: serving werkzeug serving make_ssl_devcert53044 -Ref: 4853044 -Ref: Serving WSGI Applications-Footnote-154460 -Ref: Serving WSGI Applications-Footnote-254520 -Ref: Serving WSGI Applications-Footnote-354581 -Ref: Serving WSGI Applications-Footnote-454643 -Ref: Serving WSGI Applications-Footnote-554705 -Ref: Serving WSGI Applications-Footnote-654767 -Ref: Serving WSGI Applications-Footnote-754827 -Ref: Serving WSGI Applications-Footnote-854887 -Ref: Serving WSGI Applications-Footnote-954957 -Ref: Serving WSGI Applications-Footnote-1055018 -Ref: Serving WSGI Applications-Footnote-1155079 -Ref: Serving WSGI Applications-Footnote-1255142 -Ref: Serving WSGI Applications-Footnote-1355204 -Ref: Serving WSGI Applications-Footnote-1455265 -Ref: Serving WSGI Applications-Footnote-1555326 -Ref: Serving WSGI Applications-Footnote-1655387 -Ref: Serving WSGI Applications-Footnote-1755448 -Ref: Serving WSGI Applications-Footnote-1855511 -Ref: Serving WSGI Applications-Footnote-1955578 -Ref: Serving WSGI Applications-Footnote-2055639 -Ref: Serving WSGI Applications-Footnote-2155700 -Ref: Serving WSGI Applications-Footnote-2255767 -Ref: Serving WSGI Applications-Footnote-2355830 -Ref: Serving WSGI Applications-Footnote-2455893 -Ref: Serving WSGI Applications-Footnote-2555954 -Ref: Serving WSGI Applications-Footnote-2656015 -Ref: Serving WSGI Applications-Footnote-2756076 -Ref: Serving WSGI Applications-Footnote-2856137 -Node: Reloader56198 -Ref: serving id156294 -Ref: 4a56294 -Ref: serving reloader56294 -Ref: 4b56294 -Ref: Reloader-Footnote-157638 -Node: Colored Logging57681 -Ref: serving colored-logging57799 -Ref: 4c57799 -Ref: Colored Logging-Footnote-158045 -Node: Virtual Hosts58088 -Ref: serving colorama58222 -Ref: 4d58222 -Ref: serving virtual-hosts58222 -Ref: 4e58222 -Ref: Virtual Hosts-Footnote-159322 -Node: Shutting Down The Server59371 -Ref: serving shutting-down-the-server59505 -Ref: 5059505 -Ref: Shutting Down The Server-Footnote-160908 -Ref: Shutting Down The Server-Footnote-260995 -Node: Troubleshooting61072 -Ref: serving troubleshooting61196 -Ref: 5161196 -Ref: Troubleshooting-Footnote-162743 -Node: SSL62792 -Ref: serving hosts-file62904 -Ref: 5262904 -Ref: serving ssl62904 -Ref: 5362904 -Node: Quickstart<2>63241 -Ref: serving quickstart63329 -Ref: 5463329 -Node: Loading Contexts by Hand64219 -Ref: serving loading-contexts-by-hand64339 -Ref: 5564339 -Node: Generating Certificates64694 -Ref: serving generating-certificates64819 -Ref: 5664819 -Node: Adhoc Certificates65197 -Ref: serving adhoc-certificates65289 -Ref: 5765289 -Node: Unix Sockets65862 -Ref: serving unix-sockets65950 -Ref: 5865950 -Ref: test module-werkzeug test66261 -Ref: 1066261 -Node: Testing WSGI Applications66262 -Ref: test doc66410 -Ref: 5966410 -Ref: test testing-wsgi-applications66410 -Ref: 5a66410 -Node: Test Client66546 -Ref: test test-client66642 -Ref: 5b66642 -Node: Request Body67490 -Ref: test request-body67614 -Ref: 5f67614 -Node: Environment Builder68726 -Ref: test environment-builder68842 -Ref: 6068842 -Node: API69666 -Ref: test api69761 -Ref: 6369761 -Ref: test werkzeug test Client69782 -Ref: 5c69782 -Ref: test werkzeug test Client set_cookie71032 -Ref: 6471032 -Ref: test werkzeug test Client delete_cookie72216 -Ref: 6572216 -Ref: test werkzeug test Client open72819 -Ref: 6672819 -Ref: test werkzeug test Client get74731 -Ref: 6874731 -Ref: test werkzeug test Client post75008 -Ref: 6975008 -Ref: test werkzeug test Client put75287 -Ref: 6a75287 -Ref: test werkzeug test Client delete75564 -Ref: 6b75564 -Ref: test werkzeug test Client patch75847 -Ref: 6c75847 -Ref: test werkzeug test Client options76128 -Ref: 6d76128 -Ref: test werkzeug test Client head76413 -Ref: 6e76413 -Ref: test werkzeug test Client trace76692 -Ref: 6f76692 -Ref: test werkzeug test TestResponse76973 -Ref: 5d76973 -Ref: test werkzeug test TestResponse request78341 -Ref: 6278341 -Ref: test werkzeug test TestResponse history78543 -Ref: 6778543 -Ref: test werkzeug test EnvironBuilder78770 -Ref: 6178770 -Ref: test werkzeug test EnvironBuilder server_protocol85576 -Ref: 7c85576 -Ref: test werkzeug test EnvironBuilder wsgi_version85687 -Ref: 7d85687 -Ref: test werkzeug test EnvironBuilder request_class85786 -Ref: 7b85786 -Ref: test werkzeug test EnvironBuilder json_dumps85886 -Ref: 7985886 -Ref: test werkzeug test EnvironBuilder from_environ86195 -Ref: 7e86195 -Ref: test werkzeug test EnvironBuilder base_url86731 -Ref: 7f86731 -Ref: test werkzeug test EnvironBuilder content_type86870 -Ref: 7786870 -Ref: test werkzeug test EnvironBuilder mimetype87108 -Ref: 8087108 -Ref: test werkzeug test EnvironBuilder mimetype_params87248 -Ref: 8187248 -Ref: test werkzeug test EnvironBuilder content_length87522 -Ref: 7687522 -Ref: test werkzeug test EnvironBuilder form87759 -Ref: 7387759 -Ref: test werkzeug test EnvironBuilder files87875 -Ref: 7487875 -Ref: test werkzeug test EnvironBuilder input_stream88068 -Ref: 7588068 -Ref: test werkzeug test EnvironBuilder query_string88388 -Ref: 8488388 -Ref: test werkzeug test EnvironBuilder args88543 -Ref: 7888543 -Ref: test werkzeug test EnvironBuilder server_name88663 -Ref: 8588663 -Ref: test werkzeug test EnvironBuilder server_port88766 -Ref: 8688766 -Ref: test werkzeug test EnvironBuilder close88880 -Ref: 8788880 -Ref: test werkzeug test EnvironBuilder get_environ89125 -Ref: 8889125 -Ref: test werkzeug test EnvironBuilder get_request89410 -Ref: 8989410 -Ref: test werkzeug test create_environ89833 -Ref: 7289833 -Ref: test werkzeug test run_wsgi_app90695 -Ref: 8a90695 -Ref: API-Footnote-191846 -Ref: API-Footnote-291908 -Ref: API-Footnote-391970 -Ref: API-Footnote-492032 -Ref: API-Footnote-592092 -Ref: API-Footnote-692152 -Ref: API-Footnote-792212 -Ref: API-Footnote-892288 -Ref: API-Footnote-992349 -Ref: API-Footnote-1092409 -Ref: API-Footnote-1192485 -Ref: API-Footnote-1292547 -Ref: API-Footnote-1392611 -Ref: API-Footnote-1492672 -Ref: API-Footnote-1592733 -Ref: API-Footnote-1692796 -Ref: API-Footnote-1792859 -Ref: API-Footnote-1892920 -Ref: API-Footnote-1992981 -Ref: API-Footnote-2093044 -Ref: API-Footnote-2193105 -Ref: API-Footnote-2293166 -Ref: API-Footnote-2393227 -Ref: API-Footnote-2493288 -Ref: API-Footnote-2593351 -Ref: API-Footnote-2693414 -Ref: API-Footnote-2793475 -Ref: API-Footnote-2893538 -Ref: API-Footnote-2993601 -Ref: API-Footnote-3093664 -Ref: API-Footnote-3193725 -Ref: API-Footnote-3293788 -Ref: API-Footnote-3393849 -Ref: API-Footnote-3493912 -Ref: API-Footnote-3593973 -Ref: API-Footnote-3694034 -Ref: API-Footnote-3794095 -Ref: API-Footnote-3894156 -Ref: API-Footnote-3994217 -Ref: API-Footnote-4094278 -Ref: API-Footnote-4194341 -Ref: API-Footnote-4294402 -Ref: API-Footnote-4394464 -Ref: API-Footnote-4494525 -Ref: API-Footnote-4594588 -Ref: API-Footnote-4694651 -Ref: API-Footnote-4794714 -Ref: API-Footnote-4894775 -Ref: API-Footnote-4994836 -Ref: API-Footnote-5094899 -Ref: API-Footnote-5194960 -Ref: API-Footnote-5295023 -Ref: API-Footnote-5395084 -Ref: API-Footnote-5495145 -Ref: API-Footnote-5595206 -Ref: API-Footnote-5695267 -Ref: API-Footnote-5795328 -Ref: API-Footnote-5895389 -Ref: API-Footnote-5995450 -Ref: API-Footnote-6095511 -Ref: API-Footnote-6195574 -Ref: API-Footnote-6295635 -Ref: API-Footnote-6395696 -Ref: API-Footnote-6495757 -Ref: API-Footnote-6595818 -Ref: API-Footnote-6695879 -Ref: API-Footnote-6795941 -Ref: API-Footnote-6896004 -Ref: API-Footnote-6996065 -Ref: API-Footnote-7096126 -Ref: API-Footnote-7196188 -Ref: API-Footnote-7296251 -Ref: API-Footnote-7396314 -Ref: API-Footnote-7496377 -Node: Debugging Applications96438 -Ref: debug doc96552 -Ref: 8b96552 -Ref: debug debugging-applications96552 -Ref: 8c96552 -Ref: debug module-werkzeug debug96552 -Ref: 196552 -Node: Enabling the Debugger97586 -Ref: debug enabling-the-debugger97695 -Ref: 8d97695 -Ref: debug werkzeug debug DebuggedApplication97957 -Ref: 8e97957 -Ref: Enabling the Debugger-Footnote-199796 -Ref: Enabling the Debugger-Footnote-299858 -Ref: Enabling the Debugger-Footnote-399918 -Ref: Enabling the Debugger-Footnote-499978 -Ref: Enabling the Debugger-Footnote-5100038 -Ref: Enabling the Debugger-Footnote-6100100 -Ref: Enabling the Debugger-Footnote-7100162 -Ref: Enabling the Debugger-Footnote-8100224 -Node: Using the Debugger100286 -Ref: debug using-the-debugger100416 -Ref: 8f100416 -Node: Debugger PIN101906 -Ref: debug debugger-pin102029 -Ref: 90102029 -Node: Pasting Errors103000 -Ref: debug pasting-errors103096 -Ref: 91103096 -Node: Reference103372 -Ref: index reference103470 -Ref: 92103470 -Node: Request / Response Objects103707 -Ref: wrappers doc103801 -Ref: 93103801 -Ref: wrappers module-werkzeug wrappers103801 -Ref: 14103801 -Ref: wrappers request-response-objects103801 -Ref: 94103801 -Node: How they Work104127 -Ref: wrappers how-they-work104252 -Ref: 95104252 -Node: Mutability and Reusability of Wrappers105618 -Ref: wrappers mutability-and-reusability-of-wrappers105767 -Ref: 96105767 -Node: Wrapper Classes106909 -Ref: wrappers wrapper-classes107036 -Ref: 97107036 -Ref: wrappers werkzeug wrappers Request107081 -Ref: 71107081 -Ref: wrappers werkzeug wrappers Request _get_file_stream108834 -Ref: 99108834 -Ref: wrappers werkzeug wrappers Request accept_charsets110192 -Ref: 9a110192 -Ref: wrappers werkzeug wrappers Request accept_encodings110388 -Ref: 9c110388 -Ref: wrappers werkzeug wrappers Request accept_languages110670 -Ref: 9e110670 -Ref: wrappers werkzeug wrappers Request accept_mimetypes110869 -Ref: a0110869 -Ref: wrappers werkzeug wrappers Request access_control_request_headers111061 -Ref: a2111061 -Ref: wrappers werkzeug wrappers Request access_control_request_method111349 -Ref: a3111349 -Ref: wrappers werkzeug wrappers Request access_route111634 -Ref: a4111634 -Ref: wrappers werkzeug wrappers Request application111812 -Ref: a5111812 -Ref: wrappers werkzeug wrappers Request args112666 -Ref: a6112666 -Ref: wrappers werkzeug wrappers Request authorization113088 -Ref: a9113088 -Ref: wrappers werkzeug wrappers Request base_url113255 -Ref: aa113255 -Ref: wrappers werkzeug wrappers Request cache_control113354 -Ref: ac113354 -Ref: wrappers werkzeug wrappers Request close113560 -Ref: ae113560 -Ref: wrappers werkzeug wrappers Request content_encoding113879 -Ref: af113879 -Ref: wrappers werkzeug wrappers Request content_length114325 -Ref: b0114325 -Ref: wrappers werkzeug wrappers Request content_md5114624 -Ref: b1114624 -Ref: wrappers werkzeug wrappers Request content_type115075 -Ref: b2115075 -Ref: wrappers werkzeug wrappers Request cookies115358 -Ref: b3115358 -Ref: wrappers werkzeug wrappers Request data115519 -Ref: b4115519 -Ref: wrappers werkzeug wrappers Request date115679 -Ref: b5115679 -Ref: wrappers werkzeug wrappers Request dict_storage_class115957 -Ref: b6115957 -Ref: wrappers werkzeug wrappers Request environ116071 -Ref: b7116071 -Ref: wrappers werkzeug wrappers Request files116221 -Ref: b8116221 -Ref: wrappers werkzeug wrappers Request form117153 -Ref: bb117153 -Ref: wrappers werkzeug wrappers Request form_data_parser_class117781 -Ref: bc117781 -Ref: wrappers werkzeug wrappers Request from_values117891 -Ref: be117891 -Ref: wrappers werkzeug wrappers Request full_path118883 -Ref: bf118883 -Ref: wrappers werkzeug wrappers Request get_data118977 -Ref: c0118977 -Ref: wrappers werkzeug wrappers Request get_json120591 -Ref: c1120591 -Ref: wrappers werkzeug wrappers Request headers121366 -Ref: c4121366 -Ref: wrappers werkzeug wrappers Request host121445 -Ref: c5121445 -Ref: wrappers werkzeug wrappers Request host_url121619 -Ref: c6121619 -Ref: wrappers werkzeug wrappers Request if_match121706 -Ref: c7121706 -Ref: wrappers werkzeug wrappers Request if_modified_since121895 -Ref: c9121895 -Ref: wrappers werkzeug wrappers Request if_none_match122115 -Ref: ca122115 -Ref: wrappers werkzeug wrappers Request if_range122339 -Ref: cb122339 -Ref: wrappers werkzeug wrappers Request if_unmodified_since122561 -Ref: cd122561 -Ref: wrappers werkzeug wrappers Request input_stream122785 -Ref: ce122785 -Ref: wrappers werkzeug wrappers Request is_json123012 -Ref: c2123012 -Ref: wrappers werkzeug wrappers Request is_multiprocess123173 -Ref: cf123173 -Ref: wrappers werkzeug wrappers Request is_multithread123336 -Ref: d0123336 -Ref: wrappers werkzeug wrappers Request is_run_once123481 -Ref: d1123481 -Ref: wrappers werkzeug wrappers Request is_secure123758 -Ref: d2123758 -Ref: wrappers werkzeug wrappers Request json123893 -Ref: d3123893 -Ref: wrappers werkzeug wrappers Request json_module124126 -Ref: d5124126 -Ref: wrappers werkzeug wrappers Request list_storage_class124382 -Ref: d6124382 -Ref: wrappers werkzeug wrappers Request make_form_data_parser124491 -Ref: d8124491 -Ref: wrappers werkzeug wrappers Request max_content_length124761 -Ref: d9124761 -Ref: wrappers werkzeug wrappers Request max_form_memory_size125325 -Ref: dc125325 -Ref: wrappers werkzeug wrappers Request max_forwards125879 -Ref: dd125879 -Ref: wrappers werkzeug wrappers Request method126148 -Ref: de126148 -Ref: wrappers werkzeug wrappers Request mimetype126244 -Ref: d4126244 -Ref: wrappers werkzeug wrappers Request mimetype_params126539 -Ref: df126539 -Ref: wrappers werkzeug wrappers Request on_json_loading_failed126778 -Ref: c3126778 -Ref: wrappers werkzeug wrappers Request origin127161 -Ref: e1127161 -Ref: wrappers werkzeug wrappers Request parameter_storage_class127357 -Ref: a8127357 -Ref: wrappers werkzeug wrappers Request path127476 -Ref: e2127476 -Ref: wrappers werkzeug wrappers Request pragma127634 -Ref: e4127634 -Ref: wrappers werkzeug wrappers Request query_string128090 -Ref: e6128090 -Ref: wrappers werkzeug wrappers Request range128251 -Ref: e7128251 -Ref: wrappers werkzeug wrappers Request referrer128459 -Ref: e9128459 -Ref: wrappers werkzeug wrappers Request remote_addr128763 -Ref: ea128763 -Ref: wrappers werkzeug wrappers Request remote_user128854 -Ref: eb128854 -Ref: wrappers werkzeug wrappers Request root_path129059 -Ref: e3129059 -Ref: wrappers werkzeug wrappers Request root_url129222 -Ref: ec129222 -Ref: wrappers werkzeug wrappers Request scheme129383 -Ref: ed129383 -Ref: wrappers werkzeug wrappers Request script_root129515 -Ref: ee129515 -Ref: wrappers werkzeug wrappers Request server129665 -Ref: ef129665 -Ref: wrappers werkzeug wrappers Request shallow129827 -Ref: f0129827 -Ref: wrappers werkzeug wrappers Request stream130075 -Ref: 98130075 -Ref: wrappers werkzeug wrappers Request url130963 -Ref: ab130963 -Ref: wrappers werkzeug wrappers Request url_charset131096 -Ref: f1131096 -Ref: wrappers werkzeug wrappers Request url_root131268 -Ref: f2131268 -Ref: wrappers werkzeug wrappers Request user_agent131446 -Ref: f3131446 -Ref: wrappers werkzeug wrappers Request user_agent_class131966 -Ref: f5131966 -Ref: wrappers werkzeug wrappers Request values132065 -Ref: f6132065 -Ref: wrappers werkzeug wrappers Request want_form_data_parsed132437 -Ref: f8132437 -Ref: wrappers werkzeug wrappers Response132649 -Ref: 5e132649 -Ref: wrappers werkzeug wrappers Response __call__136299 -Ref: fa136299 -Ref: wrappers werkzeug wrappers Response _ensure_sequence136729 -Ref: fb136729 -Ref: wrappers werkzeug wrappers Response accept_ranges137089 -Ref: fc137089 -Ref: wrappers werkzeug wrappers Response access_control_allow_credentials137390 -Ref: fd137390 -Ref: wrappers werkzeug wrappers Response access_control_allow_headers137661 -Ref: fe137661 -Ref: wrappers werkzeug wrappers Response access_control_allow_methods137779 -Ref: ff137779 -Ref: wrappers werkzeug wrappers Response access_control_allow_origin137896 -Ref: 100137896 -Ref: wrappers werkzeug wrappers Response access_control_expose_headers138040 -Ref: 101138040 -Ref: wrappers werkzeug wrappers Response access_control_max_age138165 -Ref: 102138165 -Ref: wrappers werkzeug wrappers Response add_etag138304 -Ref: 103138304 -Ref: wrappers werkzeug wrappers Response age138707 -Ref: 104138707 -Ref: wrappers werkzeug wrappers Response allow139021 -Ref: 105139021 -Ref: wrappers werkzeug wrappers Response autocorrect_location_header139444 -Ref: 106139444 -Ref: wrappers werkzeug wrappers Response automatically_set_content_length139656 -Ref: 107139656 -Ref: wrappers werkzeug wrappers Response cache_control139880 -Ref: 108139880 -Ref: wrappers werkzeug wrappers Response calculate_content_length140167 -Ref: 10a140167 -Ref: wrappers werkzeug wrappers Response call_on_close140332 -Ref: 10b140332 -Ref: wrappers werkzeug wrappers Response close140805 -Ref: 10c140805 -Ref: wrappers werkzeug wrappers Response content_encoding141079 -Ref: 10d141079 -Ref: wrappers werkzeug wrappers Response content_language141494 -Ref: 10e141494 -Ref: wrappers werkzeug wrappers Response content_length141847 -Ref: 10f141847 -Ref: wrappers werkzeug wrappers Response content_location142181 -Ref: 110142181 -Ref: wrappers werkzeug wrappers Response content_md5142477 -Ref: 111142477 -Ref: wrappers werkzeug wrappers Response content_range142897 -Ref: 112142897 -Ref: wrappers werkzeug wrappers Response content_security_policy143159 -Ref: 114143159 -Ref: wrappers werkzeug wrappers Response content_security_policy_report_only143567 -Ref: 115143567 -Ref: wrappers werkzeug wrappers Response content_type144034 -Ref: 116144034 -Ref: wrappers werkzeug wrappers Response cross_origin_embedder_policy144317 -Ref: 117144317 -Ref: wrappers werkzeug wrappers Response cross_origin_opener_policy144575 -Ref: 118144575 -Ref: wrappers werkzeug wrappers Response data144800 -Ref: 119144800 -Ref: wrappers werkzeug wrappers Response date144947 -Ref: 11c144947 -Ref: wrappers werkzeug wrappers Response delete_cookie145225 -Ref: 11d145225 -Ref: wrappers werkzeug wrappers Response direct_passthrough146332 -Ref: 11e146332 -Ref: wrappers werkzeug wrappers Response expires146646 -Ref: 11f146646 -Ref: wrappers werkzeug wrappers Response force_type146940 -Ref: 120146940 -Ref: wrappers werkzeug wrappers Response freeze148493 -Ref: 121148493 -Ref: wrappers werkzeug wrappers Response from_app149240 -Ref: 122149240 -Ref: wrappers werkzeug wrappers Response get_app_iter150223 -Ref: 123150223 -Ref: wrappers werkzeug wrappers Response get_data150923 -Ref: 11a150923 -Ref: wrappers werkzeug wrappers Response get_etag151552 -Ref: 125151552 -Ref: wrappers werkzeug wrappers Response get_json151808 -Ref: 126151808 -Ref: wrappers werkzeug wrappers Response get_wsgi_headers152423 -Ref: 128152423 -Ref: wrappers werkzeug wrappers Response get_wsgi_response153695 -Ref: 129153695 -Ref: wrappers werkzeug wrappers Response implicit_sequence_conversion154507 -Ref: 124154507 -Ref: wrappers werkzeug wrappers Response is_json154968 -Ref: 127154968 -Ref: wrappers werkzeug wrappers Response is_sequence155129 -Ref: 12a155129 -Ref: wrappers werkzeug wrappers Response is_streamed155402 -Ref: 12b155402 -Ref: wrappers werkzeug wrappers Response iter_encoded155924 -Ref: 12c155924 -Ref: wrappers werkzeug wrappers Response json156277 -Ref: 12d156277 -Ref: wrappers werkzeug wrappers Response json_module156513 -Ref: 12f156513 -Ref: wrappers werkzeug wrappers Response last_modified156770 -Ref: 130156770 -Ref: wrappers werkzeug wrappers Response location157043 -Ref: 131157043 -Ref: wrappers werkzeug wrappers Response make_conditional157281 -Ref: 132157281 -Ref: wrappers werkzeug wrappers Response make_sequence159770 -Ref: 135159770 -Ref: wrappers werkzeug wrappers Response mimetype160186 -Ref: 12e160186 -Ref: wrappers werkzeug wrappers Response mimetype_params160295 -Ref: 136160295 -Ref: wrappers werkzeug wrappers Response response160567 -Ref: 137160567 -Ref: wrappers werkzeug wrappers Response retry_after161067 -Ref: 138161067 -Ref: wrappers werkzeug wrappers Response set_cookie161482 -Ref: 139161482 -Ref: wrappers werkzeug wrappers Response set_data163583 -Ref: 11b163583 -Ref: wrappers werkzeug wrappers Response set_etag163964 -Ref: 13a163964 -Ref: wrappers werkzeug wrappers Response status164222 -Ref: 13b164222 -Ref: wrappers werkzeug wrappers Response status_code164304 -Ref: 13c164304 -Ref: wrappers werkzeug wrappers Response stream164391 -Ref: 13d164391 -Ref: wrappers werkzeug wrappers Response vary164516 -Ref: 13e164516 -Ref: wrappers werkzeug wrappers Response www_authenticate164848 -Ref: 13f164848 -Ref: Wrapper Classes-Footnote-1165052 -Ref: Wrapper Classes-Footnote-2165114 -Ref: Wrapper Classes-Footnote-3165176 -Ref: Wrapper Classes-Footnote-4165247 -Ref: Wrapper Classes-Footnote-5165309 -Ref: Wrapper Classes-Footnote-6165370 -Ref: Wrapper Classes-Footnote-7165430 -Ref: Wrapper Classes-Footnote-8165490 -Ref: Wrapper Classes-Footnote-9165551 -Ref: Wrapper Classes-Footnote-10165613 -Ref: Wrapper Classes-Footnote-11165674 -Ref: Wrapper Classes-Footnote-12165735 -Ref: Wrapper Classes-Footnote-13165796 -Ref: Wrapper Classes-Footnote-14165857 -Ref: Wrapper Classes-Footnote-15165920 -Ref: Wrapper Classes-Footnote-16165982 -Ref: Wrapper Classes-Footnote-17166043 -Ref: Wrapper Classes-Footnote-18166104 -Ref: Wrapper Classes-Footnote-19166166 -Ref: Wrapper Classes-Footnote-20166229 -Ref: Wrapper Classes-Footnote-21166290 -Ref: Wrapper Classes-Footnote-22166351 -Ref: Wrapper Classes-Footnote-23166412 -Ref: Wrapper Classes-Footnote-24166473 -Ref: Wrapper Classes-Footnote-25166536 -Ref: Wrapper Classes-Footnote-26166599 -Ref: Wrapper Classes-Footnote-27166662 -Ref: Wrapper Classes-Footnote-28166725 -Ref: Wrapper Classes-Footnote-29166786 -Ref: Wrapper Classes-Footnote-30166849 -Ref: Wrapper Classes-Footnote-31166912 -Ref: Wrapper Classes-Footnote-32166975 -Ref: Wrapper Classes-Footnote-33167036 -Ref: Wrapper Classes-Footnote-34167097 -Ref: Wrapper Classes-Footnote-35167173 -Ref: Wrapper Classes-Footnote-36167249 -Ref: Wrapper Classes-Footnote-37167312 -Ref: Wrapper Classes-Footnote-38167375 -Ref: Wrapper Classes-Footnote-39167440 -Ref: Wrapper Classes-Footnote-40167502 -Ref: Wrapper Classes-Footnote-41167564 -Ref: Wrapper Classes-Footnote-42167625 -Ref: Wrapper Classes-Footnote-43167686 -Ref: Wrapper Classes-Footnote-44167747 -Ref: Wrapper Classes-Footnote-45167817 -Ref: Wrapper Classes-Footnote-46167878 -Ref: Wrapper Classes-Footnote-47167939 -Ref: Wrapper Classes-Footnote-48168002 -Ref: Wrapper Classes-Footnote-49168065 -Ref: Wrapper Classes-Footnote-50168126 -Ref: Wrapper Classes-Footnote-51168187 -Ref: Wrapper Classes-Footnote-52168248 -Ref: Wrapper Classes-Footnote-53168309 -Ref: Wrapper Classes-Footnote-54168370 -Ref: Wrapper Classes-Footnote-55168433 -Ref: Wrapper Classes-Footnote-56168494 -Ref: Wrapper Classes-Footnote-57168557 -Ref: Wrapper Classes-Footnote-58168619 -Ref: Wrapper Classes-Footnote-59168680 -Ref: Wrapper Classes-Footnote-60168749 -Ref: Wrapper Classes-Footnote-61168810 -Ref: Wrapper Classes-Footnote-62168871 -Ref: Wrapper Classes-Footnote-63168934 -Ref: Wrapper Classes-Footnote-64168997 -Ref: Wrapper Classes-Footnote-65169060 -Ref: Wrapper Classes-Footnote-66169123 -Ref: Wrapper Classes-Footnote-67169186 -Ref: Wrapper Classes-Footnote-68169249 -Ref: Wrapper Classes-Footnote-69169312 -Ref: Wrapper Classes-Footnote-70169375 -Ref: Wrapper Classes-Footnote-71169438 -Ref: Wrapper Classes-Footnote-72169500 -Ref: Wrapper Classes-Footnote-73169563 -Ref: Wrapper Classes-Footnote-74169626 -Ref: Wrapper Classes-Footnote-75169687 -Ref: Wrapper Classes-Footnote-76169748 -Ref: Wrapper Classes-Footnote-77169809 -Ref: Wrapper Classes-Footnote-78169870 -Ref: Wrapper Classes-Footnote-79169933 -Ref: Wrapper Classes-Footnote-80169996 -Ref: Wrapper Classes-Footnote-81170057 -Ref: Wrapper Classes-Footnote-82170120 -Ref: Wrapper Classes-Footnote-83170183 -Ref: Wrapper Classes-Footnote-84170246 -Ref: Wrapper Classes-Footnote-85170309 -Ref: Wrapper Classes-Footnote-86170372 -Ref: Wrapper Classes-Footnote-87170435 -Ref: Wrapper Classes-Footnote-88170496 -Ref: Wrapper Classes-Footnote-89170557 -Ref: Wrapper Classes-Footnote-90170620 -Ref: Wrapper Classes-Footnote-91170683 -Ref: Wrapper Classes-Footnote-92170746 -Ref: Wrapper Classes-Footnote-93170809 -Ref: Wrapper Classes-Footnote-94170872 -Ref: Wrapper Classes-Footnote-95170935 -Ref: Wrapper Classes-Footnote-96170996 -Ref: Wrapper Classes-Footnote-97171057 -Ref: Wrapper Classes-Footnote-98171118 -Ref: Wrapper Classes-Footnote-99171181 -Ref: Wrapper Classes-Footnote-100171244 -Ref: Wrapper Classes-Footnote-101171308 -Ref: Wrapper Classes-Footnote-102171372 -Ref: Wrapper Classes-Footnote-103171438 -Ref: Wrapper Classes-Footnote-104171500 -Ref: Wrapper Classes-Footnote-105171564 -Ref: Wrapper Classes-Footnote-106171626 -Ref: Wrapper Classes-Footnote-107171689 -Ref: Wrapper Classes-Footnote-108171753 -Ref: Wrapper Classes-Footnote-109171815 -Ref: Wrapper Classes-Footnote-110171877 -Ref: Wrapper Classes-Footnote-111171939 -Ref: Wrapper Classes-Footnote-112172001 -Ref: Wrapper Classes-Footnote-113172065 -Ref: Wrapper Classes-Footnote-114172142 -Ref: Wrapper Classes-Footnote-115172204 -Ref: Wrapper Classes-Footnote-116172266 -Ref: Wrapper Classes-Footnote-117172344 -Ref: Wrapper Classes-Footnote-118172407 -Ref: Wrapper Classes-Footnote-119172469 -Ref: Wrapper Classes-Footnote-120172546 -Ref: Wrapper Classes-Footnote-121172609 -Ref: Wrapper Classes-Footnote-122172674 -Ref: Wrapper Classes-Footnote-123172736 -Ref: Wrapper Classes-Footnote-124172798 -Ref: Wrapper Classes-Footnote-125172862 -Ref: Wrapper Classes-Footnote-126172926 -Ref: Wrapper Classes-Footnote-127172988 -Ref: Wrapper Classes-Footnote-128173052 -Ref: Wrapper Classes-Footnote-129173116 -Ref: Wrapper Classes-Footnote-130173178 -Ref: Wrapper Classes-Footnote-131173242 -Ref: Wrapper Classes-Footnote-132173304 -Ref: Wrapper Classes-Footnote-133173368 -Ref: Wrapper Classes-Footnote-134173432 -Ref: Wrapper Classes-Footnote-135173494 -Node: URL Routing173557 -Ref: routing doc173672 -Ref: 4f173672 -Ref: routing module-werkzeug routing173672 -Ref: d173672 -Ref: routing url-routing173672 -Ref: 141173672 -Ref: URL Routing-Footnote-1174409 -Node: Quickstart<3>174458 -Ref: routing quickstart174541 -Ref: 142174541 -Ref: routing routes174541 -Ref: 143174541 -Node: Rule Format176687 -Ref: routing rule-format176798 -Ref: 147176798 -Node: Built-in Converters177814 -Ref: routing built-in-converters177935 -Ref: 148177935 -Ref: routing werkzeug routing UnicodeConverter178139 -Ref: 14a178139 -Ref: routing werkzeug routing PathConverter178960 -Ref: 14b178960 -Ref: routing werkzeug routing AnyConverter179426 -Ref: 14c179426 -Ref: routing werkzeug routing IntegerConverter179876 -Ref: 14d179876 -Ref: routing werkzeug routing FloatConverter180897 -Ref: 14e180897 -Ref: routing werkzeug routing UUIDConverter181688 -Ref: 14f181688 -Ref: Built-in Converters-Footnote-1182097 -Ref: Built-in Converters-Footnote-2182158 -Ref: Built-in Converters-Footnote-3182219 -Ref: Built-in Converters-Footnote-4182280 -Ref: Built-in Converters-Footnote-5182342 -Ref: Built-in Converters-Footnote-6182404 -Ref: Built-in Converters-Footnote-7182464 -Ref: Built-in Converters-Footnote-8182526 -Ref: Built-in Converters-Footnote-9182587 -Ref: Built-in Converters-Footnote-10182648 -Ref: Built-in Converters-Footnote-11182710 -Ref: Built-in Converters-Footnote-12182773 -Ref: Built-in Converters-Footnote-13182836 -Ref: Built-in Converters-Footnote-14182900 -Ref: Built-in Converters-Footnote-15182964 -Ref: Built-in Converters-Footnote-16183027 -Ref: Built-in Converters-Footnote-17183090 -Node: Maps Rules and Adapters183153 -Ref: routing maps-rules-and-adapters183277 -Ref: 150183277 -Ref: routing werkzeug routing Map183340 -Ref: 2f183340 -Ref: routing werkzeug routing Map converters186358 -Ref: 149186358 -Ref: routing werkzeug routing Map add186714 -Ref: 152186714 -Ref: routing werkzeug routing Map bind187052 -Ref: 153187052 -Ref: routing werkzeug routing Map bind_to_environ189138 -Ref: 154189138 -Ref: routing werkzeug routing Map default_converters191603 -Ref: 155191603 -Ref: routing werkzeug routing Map is_endpoint_expecting192166 -Ref: 156192166 -Ref: routing werkzeug routing Map iter_rules192910 -Ref: 157192910 -Ref: routing werkzeug routing Map lock_class193269 -Ref: 158193269 -Ref: routing werkzeug routing Map update193382 -Ref: 159193382 -Ref: routing werkzeug routing MapAdapter193571 -Ref: 144193571 -Ref: routing werkzeug routing MapAdapter allowed_methods194413 -Ref: 15a194413 -Ref: routing werkzeug routing MapAdapter build194686 -Ref: 15b194686 -Ref: routing werkzeug routing MapAdapter dispatch198441 -Ref: 15c198441 -Ref: routing werkzeug routing MapAdapter get_host201027 -Ref: 15d201027 -Ref: routing werkzeug routing MapAdapter make_alias_redirect_url201361 -Ref: 15e201361 -Ref: routing werkzeug routing MapAdapter match201942 -Ref: 145201942 -Ref: routing werkzeug routing MapAdapter test206610 -Ref: 15f206610 -Ref: routing werkzeug routing Rule207225 -Ref: 30207225 -Ref: routing werkzeug routing Rule empty214176 -Ref: 160214176 -Ref: Maps Rules and Adapters-Footnote-1214543 -Ref: Maps Rules and Adapters-Footnote-2214603 -Ref: Maps Rules and Adapters-Footnote-3214663 -Ref: Maps Rules and Adapters-Footnote-4214725 -Ref: Maps Rules and Adapters-Footnote-5214787 -Ref: Maps Rules and Adapters-Footnote-6214849 -Ref: Maps Rules and Adapters-Footnote-7214909 -Ref: Maps Rules and Adapters-Footnote-8214971 -Ref: Maps Rules and Adapters-Footnote-9215031 -Ref: Maps Rules and Adapters-Footnote-10215093 -Ref: Maps Rules and Adapters-Footnote-11215156 -Ref: Maps Rules and Adapters-Footnote-12215219 -Ref: Maps Rules and Adapters-Footnote-13215280 -Ref: Maps Rules and Adapters-Footnote-14215341 -Ref: Maps Rules and Adapters-Footnote-15215402 -Ref: Maps Rules and Adapters-Footnote-16215463 -Ref: Maps Rules and Adapters-Footnote-17215524 -Ref: Maps Rules and Adapters-Footnote-18215585 -Ref: Maps Rules and Adapters-Footnote-19215646 -Ref: Maps Rules and Adapters-Footnote-20215707 -Ref: Maps Rules and Adapters-Footnote-21215768 -Ref: Maps Rules and Adapters-Footnote-22215829 -Ref: Maps Rules and Adapters-Footnote-23215890 -Ref: Maps Rules and Adapters-Footnote-24215951 -Ref: Maps Rules and Adapters-Footnote-25216014 -Ref: Maps Rules and Adapters-Footnote-26216075 -Ref: Maps Rules and Adapters-Footnote-27216138 -Ref: Maps Rules and Adapters-Footnote-28216199 -Ref: Maps Rules and Adapters-Footnote-29216260 -Ref: Maps Rules and Adapters-Footnote-30216321 -Ref: Maps Rules and Adapters-Footnote-31216382 -Ref: Maps Rules and Adapters-Footnote-32216443 -Ref: Maps Rules and Adapters-Footnote-33216504 -Ref: Maps Rules and Adapters-Footnote-34216565 -Ref: Maps Rules and Adapters-Footnote-35216626 -Ref: Maps Rules and Adapters-Footnote-36216687 -Ref: Maps Rules and Adapters-Footnote-37216748 -Ref: Maps Rules and Adapters-Footnote-38216809 -Ref: Maps Rules and Adapters-Footnote-39216870 -Ref: Maps Rules and Adapters-Footnote-40216931 -Ref: Maps Rules and Adapters-Footnote-41216994 -Ref: Maps Rules and Adapters-Footnote-42217057 -Ref: Maps Rules and Adapters-Footnote-43217118 -Ref: Maps Rules and Adapters-Footnote-44217179 -Ref: Maps Rules and Adapters-Footnote-45217240 -Ref: Maps Rules and Adapters-Footnote-46217301 -Ref: Maps Rules and Adapters-Footnote-47217362 -Ref: Maps Rules and Adapters-Footnote-48217423 -Ref: Maps Rules and Adapters-Footnote-49217486 -Ref: Maps Rules and Adapters-Footnote-50217547 -Ref: Maps Rules and Adapters-Footnote-51217608 -Ref: Maps Rules and Adapters-Footnote-52217669 -Ref: Maps Rules and Adapters-Footnote-53217730 -Ref: Maps Rules and Adapters-Footnote-54217791 -Ref: Maps Rules and Adapters-Footnote-55217852 -Ref: Maps Rules and Adapters-Footnote-56217913 -Ref: Maps Rules and Adapters-Footnote-57217974 -Ref: Maps Rules and Adapters-Footnote-58218035 -Ref: Maps Rules and Adapters-Footnote-59218096 -Ref: Maps Rules and Adapters-Footnote-60218157 -Ref: Maps Rules and Adapters-Footnote-61218220 -Ref: Maps Rules and Adapters-Footnote-62218281 -Ref: Maps Rules and Adapters-Footnote-63218342 -Ref: Maps Rules and Adapters-Footnote-64218405 -Ref: Maps Rules and Adapters-Footnote-65218466 -Ref: Maps Rules and Adapters-Footnote-66218527 -Ref: Maps Rules and Adapters-Footnote-67218588 -Ref: Maps Rules and Adapters-Footnote-68218649 -Ref: Maps Rules and Adapters-Footnote-69218712 -Ref: Maps Rules and Adapters-Footnote-70218773 -Ref: Maps Rules and Adapters-Footnote-71218834 -Ref: Maps Rules and Adapters-Footnote-72218895 -Ref: Maps Rules and Adapters-Footnote-73218956 -Ref: Maps Rules and Adapters-Footnote-74219019 -Ref: Maps Rules and Adapters-Footnote-75219080 -Ref: Maps Rules and Adapters-Footnote-76219143 -Ref: Maps Rules and Adapters-Footnote-77219206 -Ref: Maps Rules and Adapters-Footnote-78219267 -Ref: Maps Rules and Adapters-Footnote-79219328 -Ref: Maps Rules and Adapters-Footnote-80219391 -Ref: Maps Rules and Adapters-Footnote-81219452 -Ref: Maps Rules and Adapters-Footnote-82219515 -Node: Rule Factories219578 -Ref: routing rule-factories219697 -Ref: 161219697 -Ref: routing werkzeug routing RuleFactory219740 -Ref: 151219740 -Ref: routing werkzeug routing RuleFactory get_rules220026 -Ref: 162220026 -Ref: routing werkzeug routing Subdomain220315 -Ref: 163220315 -Ref: routing werkzeug routing Submount221257 -Ref: 164221257 -Ref: routing werkzeug routing EndpointPrefix221904 -Ref: 165221904 -Ref: Rule Factories-Footnote-1222601 -Ref: Rule Factories-Footnote-2222661 -Ref: Rule Factories-Footnote-3222723 -Ref: Rule Factories-Footnote-4222783 -Ref: Rule Factories-Footnote-5222845 -Ref: Rule Factories-Footnote-6222905 -Node: Rule Templates222967 -Ref: routing rule-templates223080 -Ref: 166223080 -Ref: routing werkzeug routing RuleTemplate223123 -Ref: 167223123 -Ref: Rule Templates-Footnote-1223935 -Node: Custom Converters223997 -Ref: routing custom-converters224109 -Ref: 168224109 -Node: Host Matching226260 -Ref: routing host-matching226368 -Ref: 169226368 -Node: WebSockets227133 -Ref: routing websockets227215 -Ref: 16a227215 -Node: WSGI Helpers228167 -Ref: wsgi doc228270 -Ref: 16b228270 -Ref: wsgi module-werkzeug wsgi228270 -Ref: 15228270 -Ref: wsgi wsgi-helpers228270 -Ref: 16c228270 -Node: Iterator / Stream Helpers228729 -Ref: wsgi iterator-stream-helpers228829 -Ref: 16d228829 -Ref: wsgi werkzeug wsgi ClosingIterator228997 -Ref: 16e228997 -Ref: wsgi werkzeug wsgi FileWrapper230303 -Ref: 16f230303 -Ref: wsgi werkzeug wsgi LimitedStream231099 -Ref: 170231099 -Ref: wsgi werkzeug wsgi LimitedStream exhaust232847 -Ref: 176232847 -Ref: wsgi werkzeug wsgi LimitedStream is_exhausted233207 -Ref: 177233207 -Ref: wsgi werkzeug wsgi LimitedStream on_disconnect233318 -Ref: 178233318 -Ref: wsgi werkzeug wsgi LimitedStream on_exhausted233640 -Ref: 171233640 -Ref: wsgi werkzeug wsgi LimitedStream read233874 -Ref: 172233874 -Ref: wsgi werkzeug wsgi LimitedStream readable234147 -Ref: 17a234147 -Ref: wsgi werkzeug wsgi LimitedStream readline234316 -Ref: 174234316 -Ref: wsgi werkzeug wsgi LimitedStream readlines234510 -Ref: 173234510 -Ref: wsgi werkzeug wsgi LimitedStream tell234921 -Ref: 17b234921 -Ref: wsgi werkzeug wsgi make_line_iter235058 -Ref: 175235058 -Ref: wsgi werkzeug wsgi make_chunk_iter236824 -Ref: 17c236824 -Ref: wsgi werkzeug wsgi wrap_file238233 -Ref: 133238233 -Ref: Iterator / Stream Helpers-Footnote-1239192 -Ref: Iterator / Stream Helpers-Footnote-2239254 -Ref: Iterator / Stream Helpers-Footnote-3239316 -Ref: Iterator / Stream Helpers-Footnote-4239378 -Ref: Iterator / Stream Helpers-Footnote-5239440 -Ref: Iterator / Stream Helpers-Footnote-6239502 -Ref: Iterator / Stream Helpers-Footnote-7239563 -Ref: Iterator / Stream Helpers-Footnote-8239625 -Ref: Iterator / Stream Helpers-Footnote-9239687 -Ref: Iterator / Stream Helpers-Footnote-10239748 -Ref: Iterator / Stream Helpers-Footnote-11239811 -Ref: Iterator / Stream Helpers-Footnote-12239873 -Ref: Iterator / Stream Helpers-Footnote-13239936 -Ref: Iterator / Stream Helpers-Footnote-14239999 -Ref: Iterator / Stream Helpers-Footnote-15240062 -Ref: Iterator / Stream Helpers-Footnote-16240125 -Ref: Iterator / Stream Helpers-Footnote-17240187 -Ref: Iterator / Stream Helpers-Footnote-18240250 -Ref: Iterator / Stream Helpers-Footnote-19240313 -Ref: Iterator / Stream Helpers-Footnote-20240375 -Ref: Iterator / Stream Helpers-Footnote-21240438 -Ref: Iterator / Stream Helpers-Footnote-22240500 -Ref: Iterator / Stream Helpers-Footnote-23240563 -Ref: Iterator / Stream Helpers-Footnote-24240625 -Ref: Iterator / Stream Helpers-Footnote-25240688 -Ref: Iterator / Stream Helpers-Footnote-26240751 -Ref: Iterator / Stream Helpers-Footnote-27240813 -Ref: Iterator / Stream Helpers-Footnote-28240875 -Ref: Iterator / Stream Helpers-Footnote-29240938 -Ref: Iterator / Stream Helpers-Footnote-30241001 -Ref: Iterator / Stream Helpers-Footnote-31241064 -Ref: Iterator / Stream Helpers-Footnote-32241127 -Ref: Iterator / Stream Helpers-Footnote-33241190 -Ref: Iterator / Stream Helpers-Footnote-34241252 -Ref: Iterator / Stream Helpers-Footnote-35241314 -Ref: Iterator / Stream Helpers-Footnote-36241377 -Ref: Iterator / Stream Helpers-Footnote-37241440 -Ref: Iterator / Stream Helpers-Footnote-38241490 -Ref: Iterator / Stream Helpers-Footnote-39241553 -Ref: Iterator / Stream Helpers-Footnote-40241615 -Node: Environ Helpers241678 -Ref: wsgi environ-helpers241806 -Ref: 17d241806 -Ref: wsgi werkzeug wsgi get_host241967 -Ref: 17e241967 -Ref: wsgi werkzeug wsgi get_content_length242819 -Ref: 181242819 -Ref: wsgi werkzeug wsgi get_input_stream243224 -Ref: 182243224 -Ref: wsgi werkzeug wsgi get_current_url244232 -Ref: 183244232 -Ref: wsgi werkzeug wsgi get_query_string245210 -Ref: 185245210 -Ref: wsgi werkzeug wsgi get_script_name245618 -Ref: 186245618 -Ref: wsgi werkzeug wsgi get_path_info246208 -Ref: 187246208 -Ref: wsgi werkzeug wsgi pop_path_info246792 -Ref: 188246792 -Ref: wsgi werkzeug wsgi peek_path_info248033 -Ref: 189248033 -Ref: wsgi werkzeug wsgi extract_path_info248907 -Ref: 18a248907 -Ref: wsgi werkzeug wsgi host_is_trusted250853 -Ref: 17f250853 -Ref: Environ Helpers-Footnote-1251330 -Ref: Environ Helpers-Footnote-2251390 -Ref: Environ Helpers-Footnote-3251450 -Ref: Environ Helpers-Footnote-4251511 -Ref: Environ Helpers-Footnote-5251573 -Ref: Environ Helpers-Footnote-6251635 -Ref: Environ Helpers-Footnote-7251697 -Ref: Environ Helpers-Footnote-8251759 -Ref: Environ Helpers-Footnote-9251821 -Ref: Environ Helpers-Footnote-10251881 -Ref: Environ Helpers-Footnote-11251942 -Ref: Environ Helpers-Footnote-12252003 -Ref: Environ Helpers-Footnote-13252064 -Ref: Environ Helpers-Footnote-14252125 -Ref: Environ Helpers-Footnote-15252186 -Ref: Environ Helpers-Footnote-16252247 -Ref: Environ Helpers-Footnote-17252308 -Ref: Environ Helpers-Footnote-18252369 -Ref: Environ Helpers-Footnote-19252430 -Ref: Environ Helpers-Footnote-20252491 -Ref: Environ Helpers-Footnote-21252552 -Ref: Environ Helpers-Footnote-22252613 -Ref: Environ Helpers-Footnote-23252674 -Ref: Environ Helpers-Footnote-24252735 -Ref: Environ Helpers-Footnote-25252796 -Ref: Environ Helpers-Footnote-26252857 -Ref: Environ Helpers-Footnote-27252918 -Ref: Environ Helpers-Footnote-28252979 -Ref: Environ Helpers-Footnote-29253042 -Ref: Environ Helpers-Footnote-30253103 -Ref: Environ Helpers-Footnote-31253164 -Ref: Environ Helpers-Footnote-32253225 -Node: Convenience Helpers253288 -Ref: wsgi convenience-helpers253418 -Ref: 18b253418 -Ref: wsgi werkzeug wsgi responder253471 -Ref: 18c253471 -Ref: wsgi werkzeug testapp test_app253944 -Ref: 18d253944 -Ref: Convenience Helpers-Footnote-1254682 -Node: Bytes Strings and Encodings254744 -Ref: wsgi bytes-strings-and-encodings254892 -Ref: 18e254892 -Ref: Bytes Strings and Encodings-Footnote-1256122 -Node: Raw Request URI and Path Encoding256171 -Ref: wsgi raw-request-uri-and-path-encoding256291 -Ref: 190256291 -Ref: Raw Request URI and Path Encoding-Footnote-1257422 -Node: HTTP Utilities257471 -Ref: http doc257578 -Ref: 191257578 -Ref: http http-utilities257578 -Ref: 192257578 -Ref: http module-werkzeug http257578 -Ref: 4257578 -Node: Datetime Functions258045 -Ref: http datetime-functions258142 -Ref: 193258142 -Ref: http werkzeug http parse_date258881 -Ref: 194258881 -Ref: http werkzeug http http_date259623 -Ref: 195259623 -Ref: Datetime Functions-Footnote-1260356 -Ref: Datetime Functions-Footnote-2260430 -Ref: Datetime Functions-Footnote-3260479 -Ref: Datetime Functions-Footnote-4260553 -Ref: Datetime Functions-Footnote-5260647 -Ref: Datetime Functions-Footnote-6260707 -Ref: Datetime Functions-Footnote-7260781 -Ref: Datetime Functions-Footnote-8260830 -Ref: Datetime Functions-Footnote-9260918 -Ref: Datetime Functions-Footnote-10260992 -Ref: Datetime Functions-Footnote-11261063 -Ref: Datetime Functions-Footnote-12261125 -Ref: Datetime Functions-Footnote-13261189 -Ref: Datetime Functions-Footnote-14261259 -Node: Header Parsing<2>261320 -Ref: http header-parsing261442 -Ref: 196261442 -Ref: http werkzeug http parse_options_header261737 -Ref: 198261737 -Ref: http werkzeug http parse_set_header262717 -Ref: 19a262717 -Ref: http werkzeug http parse_list_header263811 -Ref: 19c263811 -Ref: http werkzeug http parse_dict_header264701 -Ref: 199264701 -Ref: http werkzeug http parse_accept_header265831 -Ref: 19d265831 -Ref: http werkzeug http parse_cache_control_header266785 -Ref: 19e266785 -Ref: http werkzeug http parse_authorization_header267914 -Ref: 19f267914 -Ref: http werkzeug http parse_www_authenticate_header268461 -Ref: 1a0268461 -Ref: http werkzeug http parse_if_range_header269222 -Ref: 1a1269222 -Ref: http werkzeug http parse_range_header269643 -Ref: 1a2269643 -Ref: http werkzeug http parse_content_range_header270181 -Ref: 1a3270181 -Ref: Header Parsing<2>-Footnote-1270976 -Ref: Header Parsing<2>-Footnote-2271025 -Ref: Header Parsing<2>-Footnote-3271074 -Ref: Header Parsing<2>-Footnote-4271134 -Ref: Header Parsing<2>-Footnote-5271196 -Ref: Header Parsing<2>-Footnote-6271256 -Ref: Header Parsing<2>-Footnote-7271316 -Ref: Header Parsing<2>-Footnote-8271376 -Ref: Header Parsing<2>-Footnote-9271436 -Ref: Header Parsing<2>-Footnote-10271498 -Ref: Header Parsing<2>-Footnote-11271560 -Ref: Header Parsing<2>-Footnote-12271622 -Ref: Header Parsing<2>-Footnote-13271683 -Ref: Header Parsing<2>-Footnote-14271745 -Ref: Header Parsing<2>-Footnote-15271806 -Ref: Header Parsing<2>-Footnote-16271868 -Ref: Header Parsing<2>-Footnote-17271929 -Ref: Header Parsing<2>-Footnote-18271991 -Ref: Header Parsing<2>-Footnote-19272052 -Ref: Header Parsing<2>-Footnote-20272113 -Ref: Header Parsing<2>-Footnote-21272174 -Ref: Header Parsing<2>-Footnote-22272235 -Ref: Header Parsing<2>-Footnote-23272298 -Ref: Header Parsing<2>-Footnote-24272359 -Ref: Header Parsing<2>-Footnote-25272420 -Ref: Header Parsing<2>-Footnote-26272483 -Ref: Header Parsing<2>-Footnote-27272544 -Ref: Header Parsing<2>-Footnote-28272605 -Ref: Header Parsing<2>-Footnote-29272668 -Ref: Header Parsing<2>-Footnote-30272729 -Node: Header Utilities272792 -Ref: http header-utilities272903 -Ref: 1a4272903 -Ref: http werkzeug http is_entity_header273268 -Ref: 1a5273268 -Ref: http werkzeug http is_hop_by_hop_header273565 -Ref: 1a6273565 -Ref: http werkzeug http remove_entity_headers273909 -Ref: 1a7273909 -Ref: http werkzeug http remove_hop_by_hop_headers274824 -Ref: 1a8274824 -Ref: http werkzeug http is_byte_range_valid275302 -Ref: 1a9275302 -Ref: http werkzeug http quote_header_value275716 -Ref: 1aa275716 -Ref: http werkzeug http unquote_header_value276244 -Ref: 1ab276244 -Ref: http werkzeug http dump_header276743 -Ref: 19b276743 -Ref: Header Utilities-Footnote-1277739 -Ref: Header Utilities-Footnote-2277799 -Ref: Header Utilities-Footnote-3277861 -Ref: Header Utilities-Footnote-4277921 -Ref: Header Utilities-Footnote-5277983 -Ref: Header Utilities-Footnote-6278032 -Ref: Header Utilities-Footnote-7278092 -Ref: Header Utilities-Footnote-8278152 -Ref: Header Utilities-Footnote-9278212 -Ref: Header Utilities-Footnote-10278274 -Ref: Header Utilities-Footnote-11278335 -Ref: Header Utilities-Footnote-12278396 -Ref: Header Utilities-Footnote-13278459 -Ref: Header Utilities-Footnote-14278521 -Ref: Header Utilities-Footnote-15278583 -Ref: Header Utilities-Footnote-16278645 -Ref: Header Utilities-Footnote-17278708 -Ref: Header Utilities-Footnote-18278769 -Ref: Header Utilities-Footnote-19278831 -Ref: Header Utilities-Footnote-20278892 -Ref: Header Utilities-Footnote-21278955 -Ref: Header Utilities-Footnote-22279016 -Ref: Header Utilities-Footnote-23279077 -Ref: Header Utilities-Footnote-24279140 -Ref: Header Utilities-Footnote-25279201 -Ref: Header Utilities-Footnote-26279262 -Ref: Header Utilities-Footnote-27279323 -Ref: Header Utilities-Footnote-28279385 -Ref: Header Utilities-Footnote-29279446 -Ref: Header Utilities-Footnote-30279509 -Node: Cookies279570 -Ref: http cookies279692 -Ref: 1ac279692 -Ref: http werkzeug http parse_cookie279721 -Ref: 1ad279721 -Ref: http werkzeug http dump_cookie281003 -Ref: 1ae281003 -Ref: Cookies-Footnote-1284026 -Ref: Cookies-Footnote-2284086 -Ref: Cookies-Footnote-3284148 -Ref: Cookies-Footnote-4284208 -Ref: Cookies-Footnote-5284268 -Ref: Cookies-Footnote-6284328 -Ref: Cookies-Footnote-7284388 -Ref: Cookies-Footnote-8284437 -Ref: Cookies-Footnote-9284513 -Ref: Cookies-Footnote-10284574 -Ref: Cookies-Footnote-11284635 -Ref: Cookies-Footnote-12284711 -Ref: Cookies-Footnote-13284773 -Ref: Cookies-Footnote-14284837 -Ref: Cookies-Footnote-15284898 -Ref: Cookies-Footnote-16284959 -Ref: Cookies-Footnote-17285022 -Ref: Cookies-Footnote-18285085 -Ref: Cookies-Footnote-19285146 -Ref: Cookies-Footnote-20285209 -Ref: Cookies-Footnote-21285271 -Ref: Cookies-Footnote-22285320 -Ref: Cookies-Footnote-23285381 -Ref: Cookies-Footnote-24285442 -Ref: Cookies-Footnote-25285505 -Ref: Cookies-Footnote-26285566 -Node: Conditional Response Helpers285627 -Ref: http conditional-response-helpers285742 -Ref: 1af285742 -Ref: http werkzeug http parse_etags285881 -Ref: 1b0285881 -Ref: http werkzeug http quote_etag286164 -Ref: 1b1286164 -Ref: http werkzeug http unquote_etag286420 -Ref: 1b2286420 -Ref: http werkzeug http generate_etag286849 -Ref: 1b3286849 -Ref: http werkzeug http is_resource_modified287105 -Ref: 1b4287105 -Ref: Conditional Response Helpers-Footnote-1288434 -Ref: Conditional Response Helpers-Footnote-2288494 -Ref: Conditional Response Helpers-Footnote-3288554 -Ref: Conditional Response Helpers-Footnote-4288616 -Ref: Conditional Response Helpers-Footnote-5288676 -Ref: Conditional Response Helpers-Footnote-6288736 -Ref: Conditional Response Helpers-Footnote-7288796 -Ref: Conditional Response Helpers-Footnote-8288858 -Ref: Conditional Response Helpers-Footnote-9288920 -Ref: Conditional Response Helpers-Footnote-10288982 -Ref: Conditional Response Helpers-Footnote-11289045 -Ref: Conditional Response Helpers-Footnote-12289106 -Ref: Conditional Response Helpers-Footnote-13289167 -Ref: Conditional Response Helpers-Footnote-14289230 -Ref: Conditional Response Helpers-Footnote-15289306 -Ref: Conditional Response Helpers-Footnote-16289367 -Ref: Conditional Response Helpers-Footnote-17289430 -Node: Constants289493 -Ref: http constants289618 -Ref: 1b5289618 -Ref: http werkzeug http HTTP_STATUS_CODES289651 -Ref: 1b6289651 -Node: Form Data Parsing289886 -Ref: http form-data-parsing289974 -Ref: 1b7289974 -Ref: http module-werkzeug formparser289974 -Ref: 3289974 -Ref: http werkzeug formparser FormDataParser291336 -Ref: bd291336 -Ref: http werkzeug formparser parse_form_data293201 -Ref: 1b8293201 -Ref: Form Data Parsing-Footnote-1295815 -Ref: Form Data Parsing-Footnote-2295875 -Ref: Form Data Parsing-Footnote-3295935 -Ref: Form Data Parsing-Footnote-4295996 -Ref: Form Data Parsing-Footnote-5296057 -Ref: Form Data Parsing-Footnote-6296119 -Ref: Form Data Parsing-Footnote-7296181 -Ref: Form Data Parsing-Footnote-8296241 -Ref: Form Data Parsing-Footnote-9296301 -Ref: Form Data Parsing-Footnote-10296362 -Ref: Form Data Parsing-Footnote-11296424 -Node: Data Structures296487 -Ref: datastructures doc296591 -Ref: 1b9296591 -Ref: datastructures data-structures296591 -Ref: 1ba296591 -Ref: datastructures module-werkzeug datastructures296591 -Ref: 0296591 -Node: General Purpose296905 -Ref: datastructures general-purpose296995 -Ref: 1bb296995 -Ref: datastructures werkzeug datastructures TypeConversionDict297277 -Ref: 1bc297277 -Ref: datastructures werkzeug datastructures TypeConversionDict get297582 -Ref: 1bd297582 -Ref: datastructures werkzeug datastructures ImmutableTypeConversionDict298622 -Ref: 1be298622 -Ref: datastructures werkzeug datastructures ImmutableTypeConversionDict copy298803 -Ref: 1bf298803 -Ref: datastructures werkzeug datastructures MultiDict299071 -Ref: 82299071 -Ref: datastructures werkzeug datastructures MultiDict add300762 -Ref: 1c0300762 -Ref: datastructures werkzeug datastructures MultiDict clear300996 -Ref: 1c1300996 -Ref: datastructures werkzeug datastructures MultiDict copy301057 -Ref: 1c2301057 -Ref: datastructures werkzeug datastructures MultiDict deepcopy301132 -Ref: 1c3301132 -Ref: datastructures werkzeug datastructures MultiDict fromkeys301217 -Ref: 1c4301217 -Ref: datastructures werkzeug datastructures MultiDict get301354 -Ref: 1c5301354 -Ref: datastructures werkzeug datastructures MultiDict getlist302394 -Ref: 1c6302394 -Ref: datastructures werkzeug datastructures MultiDict items303093 -Ref: 1c7303093 -Ref: datastructures werkzeug datastructures MultiDict keys303409 -Ref: 1c8303409 -Ref: datastructures werkzeug datastructures MultiDict lists303500 -Ref: 1c9303500 -Ref: datastructures werkzeug datastructures MultiDict listvalues303660 -Ref: 1ca303660 -Ref: datastructures werkzeug datastructures MultiDict pop303995 -Ref: 1cb303995 -Ref: datastructures werkzeug datastructures MultiDict popitem304530 -Ref: 1cc304530 -Ref: datastructures werkzeug datastructures MultiDict popitemlist304597 -Ref: 1cd304597 -Ref: datastructures werkzeug datastructures MultiDict poplist304686 -Ref: 1ce304686 -Ref: datastructures werkzeug datastructures MultiDict setdefault304960 -Ref: 1cf304960 -Ref: datastructures werkzeug datastructures MultiDict setlist305404 -Ref: 1d0305404 -Ref: datastructures werkzeug datastructures MultiDict setlistdefault306044 -Ref: 1d1306044 -Ref: datastructures werkzeug datastructures MultiDict to_dict306819 -Ref: 1d2306819 -Ref: datastructures werkzeug datastructures MultiDict update307313 -Ref: 1d3307313 -Ref: datastructures werkzeug datastructures MultiDict values307942 -Ref: 1d4307942 -Ref: datastructures werkzeug datastructures OrderedMultiDict308059 -Ref: 1d5308059 -Ref: datastructures werkzeug datastructures ImmutableMultiDict308726 -Ref: a7308726 -Ref: datastructures werkzeug datastructures ImmutableMultiDict copy308862 -Ref: 1d6308862 -Ref: datastructures werkzeug datastructures ImmutableOrderedMultiDict309131 -Ref: 1d7309131 -Ref: datastructures werkzeug datastructures ImmutableOrderedMultiDict copy309292 -Ref: 1d8309292 -Ref: datastructures werkzeug datastructures CombinedMultiDict309561 -Ref: f7309561 -Ref: datastructures werkzeug datastructures ImmutableDict310519 -Ref: 1d9310519 -Ref: datastructures werkzeug datastructures ImmutableDict copy310624 -Ref: 1da310624 -Ref: datastructures werkzeug datastructures ImmutableList310893 -Ref: d7310893 -Ref: datastructures werkzeug datastructures FileMultiDict311031 -Ref: 83311031 -Ref: datastructures werkzeug datastructures FileMultiDict add_file311295 -Ref: 1db311295 -Ref: General Purpose-Footnote-1311809 -Ref: General Purpose-Footnote-2311878 -Ref: General Purpose-Footnote-3311947 -Ref: General Purpose-Footnote-4312009 -Ref: General Purpose-Footnote-5312078 -Ref: General Purpose-Footnote-6312147 -Ref: General Purpose-Footnote-7312216 -Ref: General Purpose-Footnote-8312277 -Ref: General Purpose-Footnote-9312338 -Ref: General Purpose-Footnote-10312399 -Ref: General Purpose-Footnote-11312462 -Ref: General Purpose-Footnote-12312525 -Ref: General Purpose-Footnote-13312587 -Ref: General Purpose-Footnote-14312650 -Node: HTTP Related312712 -Ref: datastructures http-datastructures312817 -Ref: 197312817 -Ref: datastructures http-related312817 -Ref: 1dc312817 -Ref: datastructures werkzeug datastructures Headers312856 -Ref: 70312856 -Ref: datastructures werkzeug datastructures Headers add314537 -Ref: 1dd314537 -Ref: datastructures werkzeug datastructures Headers add_header315135 -Ref: 1de315135 -Ref: datastructures werkzeug datastructures Headers clear315347 -Ref: 1df315347 -Ref: datastructures werkzeug datastructures Headers extend315405 -Ref: 1e0315405 -Ref: datastructures werkzeug datastructures Headers get315948 -Ref: 1e2315948 -Ref: datastructures werkzeug datastructures Headers get_all317078 -Ref: 1e3317078 -Ref: datastructures werkzeug datastructures Headers getlist317265 -Ref: 1e4317265 -Ref: datastructures werkzeug datastructures Headers pop318141 -Ref: 1e5318141 -Ref: datastructures werkzeug datastructures Headers popitem318529 -Ref: 1e6318529 -Ref: datastructures werkzeug datastructures Headers remove318625 -Ref: 1e7318625 -Ref: datastructures werkzeug datastructures Headers set318742 -Ref: 1e8318742 -Ref: datastructures werkzeug datastructures Headers setdefault319423 -Ref: 1e9319423 -Ref: datastructures werkzeug datastructures Headers setlist319820 -Ref: 1ea319820 -Ref: datastructures werkzeug datastructures Headers setlistdefault320112 -Ref: 1eb320112 -Ref: datastructures werkzeug datastructures Headers to_wsgi_list320692 -Ref: 1ec320692 -Ref: datastructures werkzeug datastructures Headers update320814 -Ref: 1e1320814 -Ref: datastructures werkzeug datastructures EnvironHeaders321263 -Ref: 18f321263 -Ref: datastructures werkzeug datastructures HeaderSet321736 -Ref: e5321736 -Ref: datastructures werkzeug datastructures HeaderSet add322243 -Ref: 1ed322243 -Ref: datastructures werkzeug datastructures HeaderSet as_set322314 -Ref: 1ee322314 -Ref: datastructures werkzeug datastructures HeaderSet clear322737 -Ref: 1ef322737 -Ref: datastructures werkzeug datastructures HeaderSet discard322790 -Ref: 1f0322790 -Ref: datastructures werkzeug datastructures HeaderSet find322951 -Ref: 1f2322951 -Ref: datastructures werkzeug datastructures HeaderSet index323142 -Ref: 1f3323142 -Ref: datastructures werkzeug datastructures HeaderSet remove323335 -Ref: 1f1323335 -Ref: datastructures werkzeug datastructures HeaderSet to_header323693 -Ref: 1f4323693 -Ref: datastructures werkzeug datastructures HeaderSet update323786 -Ref: 1f5323786 -Ref: datastructures werkzeug datastructures Accept323986 -Ref: 9d323986 -Ref: datastructures werkzeug datastructures Accept best325061 -Ref: 1f6325061 -Ref: datastructures werkzeug datastructures Accept best_match325122 -Ref: 1f7325122 -Ref: datastructures werkzeug datastructures Accept find325578 -Ref: 1f8325578 -Ref: datastructures werkzeug datastructures Accept index325724 -Ref: 1f9325724 -Ref: datastructures werkzeug datastructures Accept quality326004 -Ref: 1fa326004 -Ref: datastructures werkzeug datastructures Accept to_header326244 -Ref: 1fb326244 -Ref: datastructures werkzeug datastructures Accept values326337 -Ref: 1fc326337 -Ref: datastructures werkzeug datastructures MIMEAccept326401 -Ref: a1326401 -Ref: datastructures werkzeug datastructures MIMEAccept accept_html326547 -Ref: 1fd326547 -Ref: datastructures werkzeug datastructures MIMEAccept accept_json326624 -Ref: 1fe326624 -Ref: datastructures werkzeug datastructures MIMEAccept accept_xhtml326701 -Ref: 1ff326701 -Ref: datastructures werkzeug datastructures CharsetAccept326780 -Ref: 9b326780 -Ref: datastructures werkzeug datastructures LanguageAccept326908 -Ref: 9f326908 -Ref: datastructures werkzeug datastructures RequestCacheControl327042 -Ref: ad327042 -Ref: datastructures werkzeug datastructures RequestCacheControl no_cache327776 -Ref: 200327776 -Ref: datastructures werkzeug datastructures RequestCacheControl no_store327845 -Ref: 201327845 -Ref: datastructures werkzeug datastructures RequestCacheControl max_age327914 -Ref: 202327914 -Ref: datastructures werkzeug datastructures RequestCacheControl no_transform327981 -Ref: 203327981 -Ref: datastructures werkzeug datastructures RequestCacheControl max_stale328058 -Ref: 204328058 -Ref: datastructures werkzeug datastructures RequestCacheControl min_fresh328128 -Ref: 205328128 -Ref: datastructures werkzeug datastructures RequestCacheControl only_if_cached328198 -Ref: 206328198 -Ref: datastructures werkzeug datastructures ResponseCacheControl328278 -Ref: 109328278 -Ref: datastructures werkzeug datastructures ResponseCacheControl no_cache329050 -Ref: 207329050 -Ref: datastructures werkzeug datastructures ResponseCacheControl no_store329119 -Ref: 208329119 -Ref: datastructures werkzeug datastructures ResponseCacheControl max_age329188 -Ref: 209329188 -Ref: datastructures werkzeug datastructures ResponseCacheControl no_transform329255 -Ref: 20a329255 -Ref: datastructures werkzeug datastructures ResponseCacheControl immutable329332 -Ref: 20b329332 -Ref: datastructures werkzeug datastructures ResponseCacheControl must_revalidate329402 -Ref: 20c329402 -Ref: datastructures werkzeug datastructures ResponseCacheControl private329484 -Ref: 20d329484 -Ref: datastructures werkzeug datastructures ResponseCacheControl proxy_revalidate329550 -Ref: 20e329550 -Ref: datastructures werkzeug datastructures ResponseCacheControl public329634 -Ref: 20f329634 -Ref: datastructures werkzeug datastructures ResponseCacheControl s_maxage329698 -Ref: 210329698 -Ref: datastructures werkzeug datastructures ETags329766 -Ref: c8329766 -Ref: datastructures werkzeug datastructures ETags as_set329963 -Ref: 211329963 -Ref: datastructures werkzeug datastructures ETags contains330138 -Ref: 212330138 -Ref: datastructures werkzeug datastructures ETags contains_raw330300 -Ref: 213330300 -Ref: datastructures werkzeug datastructures ETags contains_weak330527 -Ref: 214330527 -Ref: datastructures werkzeug datastructures ETags is_strong330655 -Ref: 215330655 -Ref: datastructures werkzeug datastructures ETags is_weak330729 -Ref: 216330729 -Ref: datastructures werkzeug datastructures ETags to_header330799 -Ref: 217330799 -Ref: datastructures werkzeug datastructures Authorization330890 -Ref: 7a330890 -Ref: datastructures werkzeug datastructures Authorization cnonce331253 -Ref: 218331253 -Ref: datastructures werkzeug datastructures Authorization nc331471 -Ref: 219331471 -Ref: datastructures werkzeug datastructures Authorization nonce331621 -Ref: 21a331621 -Ref: datastructures werkzeug datastructures Authorization opaque331817 -Ref: 21b331817 -Ref: datastructures werkzeug datastructures Authorization password332029 -Ref: 21c332029 -Ref: datastructures werkzeug datastructures Authorization qop332182 -Ref: 21d332182 -Ref: datastructures werkzeug datastructures Authorization realm332443 -Ref: 21e332443 -Ref: datastructures werkzeug datastructures Authorization response332537 -Ref: 21f332537 -Ref: datastructures werkzeug datastructures Authorization to_header332720 -Ref: 220332720 -Ref: datastructures werkzeug datastructures Authorization uri332923 -Ref: 221332923 -Ref: datastructures werkzeug datastructures Authorization username333126 -Ref: 222333126 -Ref: datastructures werkzeug datastructures WWWAuthenticate333260 -Ref: 140333260 -Ref: datastructures werkzeug datastructures WWWAuthenticate algorithm333432 -Ref: 223333432 -Ref: datastructures werkzeug datastructures WWWAuthenticate auth_property333776 -Ref: 224333776 -Ref: datastructures werkzeug datastructures WWWAuthenticate domain334249 -Ref: 226334249 -Ref: datastructures werkzeug datastructures WWWAuthenticate nonce334458 -Ref: 227334458 -Ref: datastructures werkzeug datastructures WWWAuthenticate opaque334682 -Ref: 228334682 -Ref: datastructures werkzeug datastructures WWWAuthenticate qop335009 -Ref: 229335009 -Ref: datastructures werkzeug datastructures WWWAuthenticate realm335120 -Ref: 225335120 -Ref: datastructures werkzeug datastructures WWWAuthenticate set_basic335447 -Ref: 22a335447 -Ref: datastructures werkzeug datastructures WWWAuthenticate set_digest335563 -Ref: 22b335563 -Ref: datastructures werkzeug datastructures WWWAuthenticate stale335734 -Ref: 22c335734 -Ref: datastructures werkzeug datastructures WWWAuthenticate to_header335890 -Ref: 22d335890 -Ref: datastructures werkzeug datastructures WWWAuthenticate type335990 -Ref: 22e335990 -Ref: datastructures werkzeug datastructures IfRange336124 -Ref: cc336124 -Ref: datastructures werkzeug datastructures IfRange date336387 -Ref: 22f336387 -Ref: datastructures werkzeug datastructures IfRange etag336465 -Ref: 230336465 -Ref: datastructures werkzeug datastructures IfRange to_header336627 -Ref: 231336627 -Ref: datastructures werkzeug datastructures Range336715 -Ref: e8336715 -Ref: datastructures werkzeug datastructures Range make_content_range337127 -Ref: 232337127 -Ref: datastructures werkzeug datastructures Range range_for_length337285 -Ref: 233337285 -Ref: datastructures werkzeug datastructures Range ranges337525 -Ref: 234337525 -Ref: datastructures werkzeug datastructures Range to_content_range_header337671 -Ref: 235337671 -Ref: datastructures werkzeug datastructures Range to_header337823 -Ref: 236337823 -Ref: datastructures werkzeug datastructures Range units337911 -Ref: 237337911 -Ref: datastructures werkzeug datastructures ContentRange337996 -Ref: 113337996 -Ref: datastructures werkzeug datastructures ContentRange length338174 -Ref: 238338174 -Ref: datastructures werkzeug datastructures ContentRange set338251 -Ref: 239338251 -Ref: datastructures werkzeug datastructures ContentRange start338362 -Ref: 23a338362 -Ref: datastructures werkzeug datastructures ContentRange stop338443 -Ref: 23b338443 -Ref: datastructures werkzeug datastructures ContentRange units338601 -Ref: 23c338601 -Ref: datastructures werkzeug datastructures ContentRange unset338676 -Ref: 23d338676 -Ref: HTTP Related-Footnote-1338847 -Ref: HTTP Related-Footnote-2338914 -Ref: HTTP Related-Footnote-3338994 -Ref: HTTP Related-Footnote-4339064 -Ref: HTTP Related-Footnote-5339131 -Ref: HTTP Related-Footnote-6339201 -Ref: HTTP Related-Footnote-7339271 -Ref: HTTP Related-Footnote-8339362 -Ref: HTTP Related-Footnote-9339423 -Ref: HTTP Related-Footnote-10339492 -Ref: HTTP Related-Footnote-11339562 -Ref: HTTP Related-Footnote-12339633 -Ref: HTTP Related-Footnote-13339722 -Ref: HTTP Related-Footnote-14339792 -Ref: HTTP Related-Footnote-15339854 -Ref: HTTP Related-Footnote-16339916 -Ref: HTTP Related-Footnote-17339986 -Ref: HTTP Related-Footnote-18340054 -Ref: HTTP Related-Footnote-19340124 -Ref: HTTP Related-Footnote-20340192 -Ref: HTTP Related-Footnote-21340262 -Ref: HTTP Related-Footnote-22340332 -Node: Others340402 -Ref: datastructures others340483 -Ref: 23e340483 -Ref: datastructures werkzeug datastructures FileStorage340510 -Ref: b9340510 -Ref: datastructures werkzeug datastructures FileStorage stream341007 -Ref: 23f341007 -Ref: datastructures werkzeug datastructures FileStorage filename341144 -Ref: 240341144 -Ref: datastructures werkzeug datastructures FileStorage name341225 -Ref: 241341225 -Ref: datastructures werkzeug datastructures FileStorage headers341290 -Ref: 242341290 -Ref: datastructures werkzeug datastructures FileStorage close341577 -Ref: 243341577 -Ref: datastructures werkzeug datastructures FileStorage content_length341654 -Ref: 244341654 -Ref: datastructures werkzeug datastructures FileStorage content_type341762 -Ref: 245341762 -Ref: datastructures werkzeug datastructures FileStorage mimetype341866 -Ref: 246341866 -Ref: datastructures werkzeug datastructures FileStorage mimetype_params342184 -Ref: 247342184 -Ref: datastructures werkzeug datastructures FileStorage save342430 -Ref: ba342430 -Ref: Others-Footnote-1343185 -Ref: Others-Footnote-2343247 -Ref: Others-Footnote-3343320 -Node: Utilities343390 -Ref: utils doc343494 -Ref: 248343494 -Ref: utils utilities343494 -Ref: 249343494 -Ref: utils module-werkzeug utils343571 -Ref: 13343571 -Node: General Helpers343671 -Ref: utils general-helpers343754 -Ref: 24a343754 -Ref: utils werkzeug utils cached_property343799 -Ref: 24b343799 -Ref: utils werkzeug utils environ_property344872 -Ref: 24c344872 -Ref: utils werkzeug utils header_property345810 -Ref: 24d345810 -Ref: utils werkzeug utils redirect345993 -Ref: 24e345993 -Ref: utils werkzeug utils append_slash_redirect347070 -Ref: 24f347070 -Ref: utils werkzeug utils send_file347550 -Ref: f9347550 -Ref: utils werkzeug utils import_string352474 -Ref: 250352474 -Ref: utils werkzeug utils find_modules353246 -Ref: 251353246 -Ref: utils werkzeug utils secure_filename354215 -Ref: 252354215 -Ref: General Helpers-Footnote-1355296 -Ref: General Helpers-Footnote-2355356 -Ref: General Helpers-Footnote-3355416 -Ref: General Helpers-Footnote-4355478 -Ref: General Helpers-Footnote-5355547 -Ref: General Helpers-Footnote-6355615 -Ref: General Helpers-Footnote-7355675 -Ref: General Helpers-Footnote-8355736 -Ref: General Helpers-Footnote-9355797 -Ref: General Helpers-Footnote-10355858 -Ref: General Helpers-Footnote-11355921 -Ref: General Helpers-Footnote-12355982 -Ref: General Helpers-Footnote-13356045 -Ref: General Helpers-Footnote-14356106 -Ref: General Helpers-Footnote-15356169 -Ref: General Helpers-Footnote-16356230 -Ref: General Helpers-Footnote-17356293 -Ref: General Helpers-Footnote-18356356 -Ref: General Helpers-Footnote-19356417 -Ref: General Helpers-Footnote-20356493 -Ref: General Helpers-Footnote-21356555 -Ref: General Helpers-Footnote-22356619 -Ref: General Helpers-Footnote-23356681 -Ref: General Helpers-Footnote-24356742 -Ref: General Helpers-Footnote-25356804 -Ref: General Helpers-Footnote-26356867 -Ref: General Helpers-Footnote-27356930 -Ref: General Helpers-Footnote-28356991 -Ref: General Helpers-Footnote-29357052 -Ref: General Helpers-Footnote-30357115 -Ref: General Helpers-Footnote-31357176 -Ref: General Helpers-Footnote-32357239 -Ref: General Helpers-Footnote-33357302 -Ref: General Helpers-Footnote-34357363 -Ref: General Helpers-Footnote-35357432 -Ref: General Helpers-Footnote-36357493 -Node: URL Helpers357554 -Ref: utils url-helpers357660 -Ref: 253357660 -Node: User Agent API357738 -Ref: utils module-werkzeug user_agent357845 -Ref: 12357845 -Ref: utils user-agent-api357845 -Ref: 255357845 -Ref: utils werkzeug user_agent UserAgent357888 -Ref: f4357888 -Ref: utils werkzeug user_agent UserAgent platform358493 -Ref: 257358493 -Ref: utils werkzeug user_agent UserAgent browser358611 -Ref: 258358611 -Ref: utils werkzeug user_agent UserAgent version358733 -Ref: 259358733 -Ref: utils werkzeug user_agent UserAgent language358858 -Ref: 25a358858 -Ref: utils werkzeug user_agent UserAgent string358985 -Ref: 256358985 -Ref: utils werkzeug user_agent UserAgent to_header359059 -Ref: 25b359059 -Ref: User Agent API-Footnote-1359196 -Ref: User Agent API-Footnote-2359256 -Ref: User Agent API-Footnote-3359318 -Ref: User Agent API-Footnote-4359378 -Ref: User Agent API-Footnote-5359438 -Ref: User Agent API-Footnote-6359498 -Ref: User Agent API-Footnote-7359558 -Ref: User Agent API-Footnote-8359618 -Node: Security Helpers359678 -Ref: utils module-werkzeug security359781 -Ref: e359781 -Ref: utils security-helpers359781 -Ref: 25c359781 -Ref: utils werkzeug security generate_password_hash359828 -Ref: 25d359828 -Ref: utils werkzeug security check_password_hash361077 -Ref: 25e361077 -Ref: utils werkzeug security safe_join361712 -Ref: 25f361712 -Ref: Security Helpers-Footnote-1362223 -Ref: Security Helpers-Footnote-2362283 -Ref: Security Helpers-Footnote-3362343 -Ref: Security Helpers-Footnote-4362404 -Ref: Security Helpers-Footnote-5362464 -Ref: Security Helpers-Footnote-6362524 -Ref: Security Helpers-Footnote-7362584 -Ref: Security Helpers-Footnote-8362646 -Ref: Security Helpers-Footnote-9362706 -Ref: Security Helpers-Footnote-10362766 -Node: Logging362827 -Ref: utils logging362907 -Ref: 260362907 -Ref: Logging-Footnote-1363263 -Ref: Logging-Footnote-2363333 -Node: URL Helpers<2>363420 -Ref: urls doc363523 -Ref: 254363523 -Ref: urls module-werkzeug urls363523 -Ref: 11363523 -Ref: urls url-helpers363523 -Ref: 261363523 -Ref: urls werkzeug urls BaseURL363681 -Ref: 262363681 -Ref: urls werkzeug urls BaseURL ascii_host364102 -Ref: 265364102 -Ref: urls werkzeug urls BaseURL auth364461 -Ref: 267364461 -Ref: urls werkzeug urls BaseURL decode_netloc364596 -Ref: 268364596 -Ref: urls werkzeug urls BaseURL decode_query364713 -Ref: 269364713 -Ref: urls werkzeug urls BaseURL encode_netloc365174 -Ref: 26b365174 -Ref: urls werkzeug urls BaseURL get_file_location365308 -Ref: 26c365308 -Ref: urls werkzeug urls BaseURL host366309 -Ref: 266366309 -Ref: urls werkzeug urls BaseURL join366548 -Ref: 26d366548 -Ref: urls werkzeug urls BaseURL password366942 -Ref: 26f366942 -Ref: urls werkzeug urls BaseURL port367130 -Ref: 270367130 -Ref: urls werkzeug urls BaseURL raw_password367308 -Ref: 271367308 -Ref: urls werkzeug urls BaseURL raw_username367502 -Ref: 272367502 -Ref: urls werkzeug urls BaseURL replace367696 -Ref: 274367696 -Ref: urls werkzeug urls BaseURL to_iri_tuple368003 -Ref: 275368003 -Ref: urls werkzeug urls BaseURL to_uri_tuple368458 -Ref: 277368458 -Ref: urls werkzeug urls BaseURL to_url368870 -Ref: 278368870 -Ref: urls werkzeug urls BaseURL username369130 -Ref: 273369130 -Ref: urls werkzeug urls BytesURL369318 -Ref: 264369318 -Ref: urls werkzeug urls BytesURL decode369734 -Ref: 27a369734 -Ref: urls werkzeug urls BytesURL encode_netloc370096 -Ref: 27b370096 -Ref: urls werkzeug urls URL370216 -Ref: 263370216 -Ref: urls werkzeug urls URL encode370722 -Ref: 27c370722 -Ref: urls werkzeug urls iri_to_uri371087 -Ref: 184371087 -Ref: urls werkzeug urls uri_to_iri373079 -Ref: 276373079 -Ref: urls werkzeug urls url_decode374195 -Ref: 26a374195 -Ref: urls werkzeug urls url_decode_stream375491 -Ref: 27d375491 -Ref: urls werkzeug urls url_encode377103 -Ref: 27e377103 -Ref: urls werkzeug urls url_encode_stream378488 -Ref: 27f378488 -Ref: urls werkzeug urls url_fix380079 -Ref: 280380079 -Ref: urls werkzeug urls url_join380763 -Ref: 26e380763 -Ref: urls werkzeug urls url_parse381508 -Ref: 281381508 -Ref: urls werkzeug urls url_quote382315 -Ref: 282382315 -Ref: urls werkzeug urls url_quote_plus383094 -Ref: 283383094 -Ref: urls werkzeug urls url_unparse383609 -Ref: 279383609 -Ref: urls werkzeug urls url_unquote384065 -Ref: 284384065 -Ref: urls werkzeug urls url_unquote_plus384747 -Ref: 285384747 -Ref: URL Helpers<2>-Footnote-1385520 -Ref: URL Helpers<2>-Footnote-2385601 -Ref: URL Helpers<2>-Footnote-3385661 -Ref: URL Helpers<2>-Footnote-4385721 -Ref: URL Helpers<2>-Footnote-5385781 -Ref: URL Helpers<2>-Footnote-6385841 -Ref: URL Helpers<2>-Footnote-7385901 -Ref: URL Helpers<2>-Footnote-8385961 -Ref: URL Helpers<2>-Footnote-9386021 -Ref: URL Helpers<2>-Footnote-10386081 -Ref: URL Helpers<2>-Footnote-11386142 -Ref: URL Helpers<2>-Footnote-12386203 -Ref: URL Helpers<2>-Footnote-13386264 -Ref: URL Helpers<2>-Footnote-14386325 -Ref: URL Helpers<2>-Footnote-15386386 -Ref: URL Helpers<2>-Footnote-16386447 -Ref: URL Helpers<2>-Footnote-17386508 -Ref: URL Helpers<2>-Footnote-18386569 -Ref: URL Helpers<2>-Footnote-19386631 -Ref: URL Helpers<2>-Footnote-20386692 -Ref: URL Helpers<2>-Footnote-21386753 -Ref: URL Helpers<2>-Footnote-22386814 -Ref: URL Helpers<2>-Footnote-23386875 -Ref: URL Helpers<2>-Footnote-24386936 -Ref: URL Helpers<2>-Footnote-25386997 -Ref: URL Helpers<2>-Footnote-26387058 -Ref: URL Helpers<2>-Footnote-27387119 -Ref: URL Helpers<2>-Footnote-28387180 -Ref: URL Helpers<2>-Footnote-29387241 -Ref: URL Helpers<2>-Footnote-30387302 -Ref: URL Helpers<2>-Footnote-31387365 -Ref: URL Helpers<2>-Footnote-32387426 -Ref: URL Helpers<2>-Footnote-33387487 -Ref: URL Helpers<2>-Footnote-34387548 -Ref: URL Helpers<2>-Footnote-35387609 -Ref: URL Helpers<2>-Footnote-36387670 -Ref: URL Helpers<2>-Footnote-37387731 -Ref: URL Helpers<2>-Footnote-38387792 -Ref: URL Helpers<2>-Footnote-39387853 -Ref: URL Helpers<2>-Footnote-40387914 -Ref: URL Helpers<2>-Footnote-41387975 -Ref: URL Helpers<2>-Footnote-42388036 -Ref: URL Helpers<2>-Footnote-43388097 -Ref: URL Helpers<2>-Footnote-44388158 -Ref: URL Helpers<2>-Footnote-45388219 -Ref: URL Helpers<2>-Footnote-46388280 -Ref: URL Helpers<2>-Footnote-47388343 -Ref: URL Helpers<2>-Footnote-48388404 -Ref: URL Helpers<2>-Footnote-49388465 -Ref: URL Helpers<2>-Footnote-50388526 -Ref: URL Helpers<2>-Footnote-51388587 -Ref: URL Helpers<2>-Footnote-52388648 -Ref: URL Helpers<2>-Footnote-53388709 -Ref: URL Helpers<2>-Footnote-54388770 -Ref: URL Helpers<2>-Footnote-55388831 -Ref: URL Helpers<2>-Footnote-56388892 -Ref: URL Helpers<2>-Footnote-57388953 -Ref: URL Helpers<2>-Footnote-58389014 -Ref: URL Helpers<2>-Footnote-59389077 -Ref: URL Helpers<2>-Footnote-60389138 -Ref: URL Helpers<2>-Footnote-61389199 -Ref: URL Helpers<2>-Footnote-62389260 -Ref: URL Helpers<2>-Footnote-63389321 -Ref: URL Helpers<2>-Footnote-64389384 -Ref: URL Helpers<2>-Footnote-65389445 -Ref: URL Helpers<2>-Footnote-66389508 -Ref: URL Helpers<2>-Footnote-67389569 -Ref: URL Helpers<2>-Footnote-68389632 -Ref: URL Helpers<2>-Footnote-69389694 -Ref: URL Helpers<2>-Footnote-70389755 -Ref: URL Helpers<2>-Footnote-71389816 -Ref: URL Helpers<2>-Footnote-72389877 -Ref: URL Helpers<2>-Footnote-73389938 -Ref: URL Helpers<2>-Footnote-74389999 -Ref: URL Helpers<2>-Footnote-75390060 -Ref: URL Helpers<2>-Footnote-76390121 -Ref: URL Helpers<2>-Footnote-77390184 -Ref: URL Helpers<2>-Footnote-78390245 -Ref: URL Helpers<2>-Footnote-79390306 -Ref: URL Helpers<2>-Footnote-80390367 -Ref: URL Helpers<2>-Footnote-81390432 -Ref: URL Helpers<2>-Footnote-82390493 -Ref: URL Helpers<2>-Footnote-83390554 -Ref: URL Helpers<2>-Footnote-84390615 -Ref: URL Helpers<2>-Footnote-85390676 -Ref: URL Helpers<2>-Footnote-86390737 -Ref: URL Helpers<2>-Footnote-87390798 -Ref: URL Helpers<2>-Footnote-88390859 -Ref: URL Helpers<2>-Footnote-89390922 -Ref: URL Helpers<2>-Footnote-90390983 -Ref: URL Helpers<2>-Footnote-91391044 -Ref: URL Helpers<2>-Footnote-92391105 -Ref: URL Helpers<2>-Footnote-93391170 -Ref: URL Helpers<2>-Footnote-94391233 -Ref: URL Helpers<2>-Footnote-95391294 -Ref: URL Helpers<2>-Footnote-96391355 -Ref: URL Helpers<2>-Footnote-97391416 -Ref: URL Helpers<2>-Footnote-98391477 -Ref: URL Helpers<2>-Footnote-99391538 -Ref: URL Helpers<2>-Footnote-100391599 -Ref: URL Helpers<2>-Footnote-101391661 -Ref: URL Helpers<2>-Footnote-102391723 -Ref: URL Helpers<2>-Footnote-103391785 -Ref: URL Helpers<2>-Footnote-104391847 -Ref: URL Helpers<2>-Footnote-105391909 -Ref: URL Helpers<2>-Footnote-106391971 -Ref: URL Helpers<2>-Footnote-107392033 -Ref: URL Helpers<2>-Footnote-108392095 -Ref: URL Helpers<2>-Footnote-109392157 -Ref: URL Helpers<2>-Footnote-110392221 -Ref: URL Helpers<2>-Footnote-111392283 -Ref: URL Helpers<2>-Footnote-112392345 -Ref: URL Helpers<2>-Footnote-113392407 -Ref: URL Helpers<2>-Footnote-114392471 -Ref: URL Helpers<2>-Footnote-115392533 -Ref: URL Helpers<2>-Footnote-116392595 -Ref: URL Helpers<2>-Footnote-117392659 -Ref: URL Helpers<2>-Footnote-118392721 -Ref: URL Helpers<2>-Footnote-119392785 -Ref: URL Helpers<2>-Footnote-120392847 -Ref: URL Helpers<2>-Footnote-121392911 -Ref: URL Helpers<2>-Footnote-122392973 -Ref: URL Helpers<2>-Footnote-123393035 -Ref: URL Helpers<2>-Footnote-124393097 -Ref: URL Helpers<2>-Footnote-125393159 -Ref: URL Helpers<2>-Footnote-126393221 -Ref: URL Helpers<2>-Footnote-127393283 -Ref: URL Helpers<2>-Footnote-128393345 -Ref: URL Helpers<2>-Footnote-129393407 -Ref: URL Helpers<2>-Footnote-130393469 -Ref: URL Helpers<2>-Footnote-131393531 -Ref: URL Helpers<2>-Footnote-132393593 -Ref: URL Helpers<2>-Footnote-133393655 -Ref: URL Helpers<2>-Footnote-134393717 -Ref: URL Helpers<2>-Footnote-135393779 -Ref: URL Helpers<2>-Footnote-136393843 -Ref: URL Helpers<2>-Footnote-137393905 -Ref: URL Helpers<2>-Footnote-138393967 -Ref: URL Helpers<2>-Footnote-139394029 -Ref: URL Helpers<2>-Footnote-140394091 -Ref: URL Helpers<2>-Footnote-141394153 -Ref: URL Helpers<2>-Footnote-142394217 -Ref: URL Helpers<2>-Footnote-143394279 -Ref: URL Helpers<2>-Footnote-144394341 -Node: Context Locals394403 -Ref: local doc394507 -Ref: 286394507 -Ref: local context-locals394507 -Ref: 287394507 -Ref: local module-werkzeug local394507 -Ref: 5394507 -Ref: local werkzeug local release_local397343 -Ref: 288397343 -Ref: local werkzeug local LocalManager398164 -Ref: 28a398164 -Ref: local werkzeug local LocalManager cleanup399045 -Ref: 28b399045 -Ref: local werkzeug local LocalManager make_middleware399265 -Ref: 28c399265 -Ref: local werkzeug local LocalManager middleware399500 -Ref: 28d399500 -Ref: local werkzeug local LocalStack400038 -Ref: 289400038 -Ref: local werkzeug local LocalStack pop400908 -Ref: 28e400908 -Ref: local werkzeug local LocalStack push401096 -Ref: 28f401096 -Ref: local werkzeug local LocalStack top401252 -Ref: 290401252 -Ref: local werkzeug local LocalProxy401381 -Ref: 291401381 -Ref: local werkzeug local LocalProxy _get_current_object402837 -Ref: 292402837 -Ref: middleware/index module-werkzeug middleware403135 -Ref: 6403135 -Ref: Context Locals-Footnote-1403171 -Ref: Context Locals-Footnote-2403233 -Ref: Context Locals-Footnote-3403295 -Ref: Context Locals-Footnote-4403357 -Ref: Context Locals-Footnote-5403419 -Node: Middleware403490 -Ref: middleware/index doc403595 -Ref: 293403595 -Ref: middleware/index middleware403595 -Ref: 294403595 -Ref: middleware/proxy_fix module-werkzeug middleware proxy_fix403797 -Ref: b403797 -Node: X-Forwarded-For Proxy Fix403967 -Ref: middleware/proxy_fix doc404075 -Ref: 295404075 -Ref: middleware/proxy_fix x-forwarded-for-proxy-fix404075 -Ref: 296404075 -Ref: middleware/proxy_fix werkzeug middleware proxy_fix ProxyFix404844 -Ref: 297404844 -Ref: middleware/shared_data module-werkzeug middleware shared_data407538 -Ref: c407538 -Ref: X-Forwarded-For Proxy Fix-Footnote-1407574 -Ref: X-Forwarded-For Proxy Fix-Footnote-2407635 -Ref: X-Forwarded-For Proxy Fix-Footnote-3407696 -Ref: X-Forwarded-For Proxy Fix-Footnote-4407757 -Ref: X-Forwarded-For Proxy Fix-Footnote-5407818 -Ref: X-Forwarded-For Proxy Fix-Footnote-6407879 -Node: Serve Shared Static Files407941 -Ref: middleware/shared_data doc408080 -Ref: 298408080 -Ref: middleware/shared_data serve-shared-static-files408080 -Ref: 299408080 -Ref: middleware/shared_data werkzeug middleware shared_data SharedDataMiddleware408145 -Ref: 29a408145 -Ref: middleware/shared_data werkzeug middleware shared_data SharedDataMiddleware is_allowed411447 -Ref: 29b411447 -Ref: middleware/dispatcher module-werkzeug middleware dispatcher411766 -Ref: 7411766 -Ref: Serve Shared Static Files-Footnote-1411802 -Ref: Serve Shared Static Files-Footnote-2411873 -Ref: Serve Shared Static Files-Footnote-3411933 -Ref: Serve Shared Static Files-Footnote-4411993 -Ref: Serve Shared Static Files-Footnote-5412053 -Ref: Serve Shared Static Files-Footnote-6412113 -Ref: Serve Shared Static Files-Footnote-7412173 -Ref: Serve Shared Static Files-Footnote-8412233 -Ref: Serve Shared Static Files-Footnote-9412293 -Ref: Serve Shared Static Files-Footnote-10412353 -Ref: Serve Shared Static Files-Footnote-11412416 -Ref: Serve Shared Static Files-Footnote-12412488 -Ref: Serve Shared Static Files-Footnote-13412551 -Ref: Serve Shared Static Files-Footnote-14412613 -Ref: Serve Shared Static Files-Footnote-15412674 -Ref: Serve Shared Static Files-Footnote-16412737 -Ref: Serve Shared Static Files-Footnote-17412798 -Node: Application Dispatcher412861 -Ref: middleware/dispatcher doc412991 -Ref: 29c412991 -Ref: middleware/dispatcher application-dispatcher412991 -Ref: 29d412991 -Ref: middleware/dispatcher werkzeug middleware dispatcher DispatcherMiddleware414046 -Ref: 29e414046 -Ref: middleware/http_proxy module-werkzeug middleware http_proxy414675 -Ref: 8414675 -Ref: Application Dispatcher-Footnote-1414711 -Ref: Application Dispatcher-Footnote-2414771 -Node: Basic HTTP Proxy414833 -Ref: middleware/http_proxy doc414958 -Ref: 29f414958 -Ref: middleware/http_proxy basic-http-proxy414958 -Ref: 2a0414958 -Ref: middleware/http_proxy werkzeug middleware http_proxy ProxyMiddleware415005 -Ref: 2a1415005 -Ref: middleware/lint module-werkzeug middleware lint417449 -Ref: 9417449 -Ref: Basic HTTP Proxy-Footnote-1417485 -Ref: Basic HTTP Proxy-Footnote-2417551 -Ref: Basic HTTP Proxy-Footnote-3417611 -Ref: Basic HTTP Proxy-Footnote-4417671 -Ref: Basic HTTP Proxy-Footnote-5417732 -Ref: Basic HTTP Proxy-Footnote-6417793 -Node: WSGI Protocol Linter417855 -Ref: middleware/lint doc417978 -Ref: 2a2417978 -Ref: middleware/lint wsgi-protocol-linter417978 -Ref: 2a3417978 -Ref: middleware/lint werkzeug middleware lint LintMiddleware418307 -Ref: 2a4418307 -Ref: middleware/profiler module-werkzeug middleware profiler419105 -Ref: a419105 -Ref: WSGI Protocol Linter-Footnote-1419142 -Ref: WSGI Protocol Linter-Footnote-2419191 -Ref: WSGI Protocol Linter-Footnote-3419263 -Node: Application Profiler419325 -Ref: middleware/profiler doc419423 -Ref: 2a5419423 -Ref: middleware/profiler application-profiler419423 -Ref: 2a6419423 -Ref: middleware/profiler werkzeug middleware profiler ProfilerMiddleware419661 -Ref: 2a7419661 -Ref: Application Profiler-Footnote-1422353 -Ref: Application Profiler-Footnote-2422424 -Ref: Application Profiler-Footnote-3422492 -Ref: Application Profiler-Footnote-4422563 -Ref: Application Profiler-Footnote-5422630 -Ref: Application Profiler-Footnote-6422690 -Ref: Application Profiler-Footnote-7422750 -Ref: Application Profiler-Footnote-8422830 -Ref: Application Profiler-Footnote-9422890 -Ref: Application Profiler-Footnote-10422951 -Ref: Application Profiler-Footnote-11423015 -Ref: Application Profiler-Footnote-12423097 -Ref: Application Profiler-Footnote-13423158 -Ref: Application Profiler-Footnote-14423219 -Node: HTTP Exceptions423282 -Ref: exceptions doc423364 -Ref: 2a8423364 -Ref: exceptions http-exceptions423364 -Ref: 2a9423364 -Ref: exceptions module-werkzeug exceptions423364 -Ref: 2423364 -Node: Usage Example423659 -Ref: exceptions usage-example423748 -Ref: 2aa423748 -Node: Error Classes424885 -Ref: exceptions error-classes424992 -Ref: 2ab424992 -Ref: exceptions werkzeug exceptions BadRequest425083 -Ref: e0425083 -Ref: exceptions werkzeug exceptions Unauthorized425509 -Ref: 2ac425509 -Ref: exceptions werkzeug exceptions Forbidden427381 -Ref: 2ad427381 -Ref: exceptions werkzeug exceptions NotFound427805 -Ref: 31427805 -Ref: exceptions werkzeug exceptions MethodNotAllowed428179 -Ref: 146428179 -Ref: exceptions werkzeug exceptions NotAcceptable429134 -Ref: 2ae429134 -Ref: exceptions werkzeug exceptions RequestTimeout429572 -Ref: 2af429572 -Ref: exceptions werkzeug exceptions Conflict429936 -Ref: 2b0429936 -Ref: exceptions werkzeug exceptions Gone430398 -Ref: 2b1430398 -Ref: exceptions werkzeug exceptions LengthRequired430791 -Ref: 2b2430791 -Ref: exceptions werkzeug exceptions PreconditionFailed431263 -Ref: 2b3431263 -Ref: exceptions werkzeug exceptions RequestEntityTooLarge431714 -Ref: da431714 -Ref: exceptions werkzeug exceptions RequestURITooLarge432149 -Ref: 2b4432149 -Ref: exceptions werkzeug exceptions UnsupportedMediaType432527 -Ref: 2b5432527 -Ref: exceptions werkzeug exceptions RequestedRangeNotSatisfiable432977 -Ref: 134432977 -Ref: exceptions werkzeug exceptions ExpectationFailed433643 -Ref: 2b6433643 -Ref: exceptions werkzeug exceptions ImATeapot434084 -Ref: 2b7434084 -Ref: exceptions werkzeug exceptions UnprocessableEntity434537 -Ref: 2b8434537 -Ref: exceptions werkzeug exceptions Locked434968 -Ref: 2b9434968 -Ref: exceptions werkzeug exceptions FailedDependency435340 -Ref: 2ba435340 -Ref: exceptions werkzeug exceptions PreconditionRequired435826 -Ref: 2bb435826 -Ref: exceptions werkzeug exceptions TooManyRequests436664 -Ref: 2bc436664 -Ref: exceptions werkzeug exceptions RequestHeaderFieldsTooLarge437676 -Ref: 2bd437676 -Ref: exceptions werkzeug exceptions UnavailableForLegalReasons438221 -Ref: 2be438221 -Ref: exceptions werkzeug exceptions InternalServerError438699 -Ref: 2bf438699 -Ref: exceptions werkzeug exceptions InternalServerError original_exception439368 -Ref: 2c0439368 -Ref: exceptions werkzeug exceptions NotImplemented439569 -Ref: 2c1439569 -Ref: exceptions werkzeug exceptions BadGateway439987 -Ref: 2c2439987 -Ref: exceptions werkzeug exceptions ServiceUnavailable440508 -Ref: 2c3440508 -Ref: exceptions werkzeug exceptions GatewayTimeout441278 -Ref: 2c4441278 -Ref: exceptions werkzeug exceptions HTTPVersionNotSupported441696 -Ref: 2c5441696 -Ref: exceptions werkzeug exceptions ClientDisconnected442130 -Ref: 179442130 -Ref: exceptions werkzeug exceptions SecurityError442994 -Ref: 180442994 -Ref: Error Classes-Footnote-1443460 -Ref: Error Classes-Footnote-2443520 -Ref: Error Classes-Footnote-3443582 -Ref: Error Classes-Footnote-4443642 -Ref: Error Classes-Footnote-5443704 -Ref: Error Classes-Footnote-6443764 -Ref: Error Classes-Footnote-7443826 -Ref: Error Classes-Footnote-8443886 -Ref: Error Classes-Footnote-9443948 -Ref: Error Classes-Footnote-10444008 -Ref: Error Classes-Footnote-11444069 -Ref: Error Classes-Footnote-12444132 -Ref: Error Classes-Footnote-13444193 -Ref: Error Classes-Footnote-14444256 -Ref: Error Classes-Footnote-15444317 -Ref: Error Classes-Footnote-16444380 -Ref: Error Classes-Footnote-17444441 -Ref: Error Classes-Footnote-18444504 -Ref: Error Classes-Footnote-19444565 -Ref: Error Classes-Footnote-20444628 -Ref: Error Classes-Footnote-21444689 -Ref: Error Classes-Footnote-22444752 -Ref: Error Classes-Footnote-23444813 -Ref: Error Classes-Footnote-24444876 -Ref: Error Classes-Footnote-25444937 -Ref: Error Classes-Footnote-26445000 -Ref: Error Classes-Footnote-27445061 -Ref: Error Classes-Footnote-28445124 -Ref: Error Classes-Footnote-29445185 -Ref: Error Classes-Footnote-30445248 -Ref: Error Classes-Footnote-31445310 -Ref: Error Classes-Footnote-32445371 -Ref: Error Classes-Footnote-33445432 -Ref: Error Classes-Footnote-34445495 -Ref: Error Classes-Footnote-35445556 -Ref: Error Classes-Footnote-36445619 -Ref: Error Classes-Footnote-37445680 -Ref: Error Classes-Footnote-38445743 -Ref: Error Classes-Footnote-39445804 -Ref: Error Classes-Footnote-40445867 -Ref: Error Classes-Footnote-41445928 -Ref: Error Classes-Footnote-42445991 -Ref: Error Classes-Footnote-43446052 -Ref: Error Classes-Footnote-44446115 -Ref: Error Classes-Footnote-45446176 -Ref: Error Classes-Footnote-46446239 -Ref: Error Classes-Footnote-47446315 -Ref: Error Classes-Footnote-48446377 -Ref: Error Classes-Footnote-49446439 -Ref: Error Classes-Footnote-50446515 -Ref: Error Classes-Footnote-51446576 -Ref: Error Classes-Footnote-52446639 -Ref: Error Classes-Footnote-53446700 -Ref: Error Classes-Footnote-54446763 -Ref: Error Classes-Footnote-55446824 -Ref: Error Classes-Footnote-56446887 -Ref: Error Classes-Footnote-57446948 -Ref: Error Classes-Footnote-58447021 -Ref: Error Classes-Footnote-59447084 -Ref: Error Classes-Footnote-60447145 -Ref: Error Classes-Footnote-61447208 -Ref: Error Classes-Footnote-62447269 -Ref: Error Classes-Footnote-63447332 -Ref: Error Classes-Footnote-64447408 -Ref: Error Classes-Footnote-65447470 -Ref: Error Classes-Footnote-66447532 -Ref: Error Classes-Footnote-67447608 -Ref: Error Classes-Footnote-68447669 -Ref: Error Classes-Footnote-69447732 -Ref: Error Classes-Footnote-70447793 -Ref: Error Classes-Footnote-71447856 -Ref: Error Classes-Footnote-72447917 -Ref: Error Classes-Footnote-73447980 -Ref: Error Classes-Footnote-74448041 -Ref: Error Classes-Footnote-75448104 -Ref: Error Classes-Footnote-76448165 -Node: Baseclass448228 -Ref: exceptions baseclass448345 -Ref: 2c6448345 -Ref: exceptions werkzeug exceptions HTTPException448433 -Ref: 32448433 -Ref: exceptions werkzeug exceptions HTTPException __call__449020 -Ref: 2c7449020 -Ref: exceptions werkzeug exceptions HTTPException get_response449401 -Ref: 2c8449401 -Ref: Baseclass-Footnote-1450110 -Ref: Baseclass-Footnote-2450170 -Ref: Baseclass-Footnote-3450232 -Ref: Baseclass-Footnote-4450294 -Node: Special HTTP Exceptions450355 -Ref: exceptions special-http-exceptions450474 -Ref: 2c9450474 -Ref: exceptions werkzeug exceptions BadRequestKeyError451465 -Ref: 2ca451465 -Ref: Special HTTP Exceptions-Footnote-1451884 -Ref: Special HTTP Exceptions-Footnote-2451951 -Ref: Special HTTP Exceptions-Footnote-3452018 -Ref: Special HTTP Exceptions-Footnote-4452085 -Node: Simple Aborting452145 -Ref: exceptions simple-aborting452268 -Ref: 2cb452268 -Ref: exceptions werkzeug exceptions abort452512 -Ref: 2cc452512 -Ref: exceptions werkzeug exceptions Aborter453296 -Ref: 2cd453296 -Ref: Simple Aborting-Footnote-1454154 -Ref: Simple Aborting-Footnote-2454215 -Ref: Simple Aborting-Footnote-3454276 -Ref: Simple Aborting-Footnote-4454337 -Node: Custom Errors454399 -Ref: exceptions custom-errors454490 -Ref: 2ce454490 -Node: Deployment455520 -Ref: index deployment455621 -Ref: 2cf455621 -Node: Application Deployment455685 -Ref: deployment/index doc455756 -Ref: 49455756 -Ref: deployment/index application-deployment455756 -Ref: 2d0455756 -Node: CGI456001 -Ref: deployment/cgi doc456089 -Ref: 2d1456089 -Ref: deployment/cgi cgi456089 -Ref: 2d2456089 -Ref: CGI-Footnote-1456591 -Node: Creating a cgi file456635 -Ref: deployment/cgi appengine456717 -Ref: 2d3456717 -Ref: deployment/cgi creating-a-cgi-file456717 -Ref: 2d4456717 -Node: Server Setup457057 -Ref: deployment/cgi server-setup457139 -Ref: 2d5457139 -Node: mod_wsgi Apache457594 -Ref: deployment/mod_wsgi doc457698 -Ref: 2d6457698 -Ref: deployment/mod_wsgi mod-wsgi-apache457698 -Ref: 2d7457698 -Ref: mod_wsgi Apache-Footnote-1457976 -Ref: mod_wsgi Apache-Footnote-2458010 -Node: Installing mod_wsgi458061 -Ref: deployment/mod_wsgi apache458163 -Ref: 2d8458163 -Ref: deployment/mod_wsgi installing-mod-wsgi458163 -Ref: 2d9458163 -Ref: Installing mod_wsgi-Footnote-1458990 -Node: Creating a wsgi file459058 -Ref: deployment/mod_wsgi creating-a-wsgi-file459187 -Ref: 2da459187 -Ref: Creating a wsgi file-Footnote-1460114 -Node: Configuring Apache460159 -Ref: deployment/mod_wsgi configuring-apache460260 -Ref: 2db460260 -Node: FastCGI460983 -Ref: deployment/fastcgi doc461097 -Ref: 2dc461097 -Ref: deployment/fastcgi fastcgi461097 -Ref: 2dd461097 -Ref: deployment/fastcgi virtual-python461097 -Ref: 2de461097 -Ref: FastCGI-Footnote-1461550 -Ref: FastCGI-Footnote-2461584 -Ref: FastCGI-Footnote-3461611 -Node: Creating a fcgi file461650 -Ref: deployment/fastcgi creating-a-fcgi-file461745 -Ref: 2df461745 -Node: Configuring lighttpd462822 -Ref: deployment/fastcgi configuring-lighttpd462943 -Ref: 2e0462943 -Ref: Configuring lighttpd-Footnote-1463766 -Node: Configuring nginx463843 -Ref: deployment/fastcgi configuring-nginx463953 -Ref: 2e1463953 -Node: Debugging465198 -Ref: deployment/fastcgi debugging465279 -Ref: 2e2465279 -Node: HTTP Proxying466350 -Ref: deployment/proxying doc466440 -Ref: 2e3466440 -Ref: deployment/proxying flup466440 -Ref: 2e4466440 -Ref: deployment/proxying http-proxying466440 -Ref: 2e5466440 -Node: Creating a py server466887 -Ref: deployment/proxying creating-a-py-server466988 -Ref: 2e6466988 -Node: Configuring nginx<2>467710 -Ref: deployment/proxying configuring-nginx467811 -Ref: 2e7467811 -Node: Additional Information468452 -Ref: index additional-information468563 -Ref: 2e8468563 -Node: Important Terms468723 -Ref: terms doc468815 -Ref: 2e9468815 -Ref: terms important-terms468815 -Ref: 2ea468815 -Node: WSGI468994 -Ref: terms wsgi469076 -Ref: 2eb469076 -Ref: WSGI-Footnote-1469370 -Node: Response Object469419 -Ref: terms response-object469523 -Ref: 2ec469523 -Node: View Function470005 -Ref: terms view-function470096 -Ref: 2ed470096 -Node: Unicode470760 -Ref: unicode doc470886 -Ref: 2ee470886 -Ref: unicode unicode470886 -Ref: 2ef470886 -Node: Unicode in Python471302 -Ref: unicode unicode-in-python471389 -Ref: 2f0471389 -Node: Unicode in HTTP472124 -Ref: unicode unicode-in-http472234 -Ref: 2f1472234 -Node: Error Handling472669 -Ref: unicode error-handling472790 -Ref: 2f2472790 -Ref: Error Handling-Footnote-1473195 -Node: Request and Response Objects473262 -Ref: unicode request-and-response-objects473359 -Ref: 2f3473359 -Node: Dealing with Request Data474190 -Ref: request_data doc474321 -Ref: db474321 -Ref: request_data dealing-with-request-data474321 -Ref: 2f4474321 -Node: Missing EOF Marker on Input Stream474864 -Ref: request_data missing-eof-marker-on-input-stream474996 -Ref: 2f5474996 -Node: When does Werkzeug Parse?475596 -Ref: request_data when-does-werkzeug-parse475755 -Ref: 2f6475755 -Node: How does it Parse?476570 -Ref: request_data how-does-it-parse476716 -Ref: 2f7476716 -Node: Limiting Request Data477682 -Ref: request_data limiting-request-data477825 -Ref: 2f8477825 -Node: How to extend Parsing?478750 -Ref: request_data how-to-extend-parsing478866 -Ref: 2f9478866 -Node: BSD-3-Clause License479112 -Ref: license doc479243 -Ref: 2fa479243 -Ref: license bsd-3-clause-license479243 -Ref: 2fb479243 -Node: Changes480787 -Ref: changes doc480884 -Ref: 2fc480884 -Ref: changes changes480884 -Ref: 2fd480884 -Node: Version 2 1 0483292 -Ref: changes version-2-1-0483373 -Ref: 2fe483373 -Ref: Version 2 1 0-Footnote-1487506 -Ref: Version 2 1 0-Footnote-2487560 -Ref: Version 2 1 0-Footnote-3487614 -Ref: Version 2 1 0-Footnote-4487668 -Ref: Version 2 1 0-Footnote-5487741 -Ref: Version 2 1 0-Footnote-6487811 -Ref: Version 2 1 0-Footnote-7487860 -Ref: Version 2 1 0-Footnote-8487909 -Ref: Version 2 1 0-Footnote-9487965 -Ref: Version 2 1 0-Footnote-10488021 -Ref: Version 2 1 0-Footnote-11488078 -Ref: Version 2 1 0-Footnote-12488133 -Ref: Version 2 1 0-Footnote-13488190 -Ref: Version 2 1 0-Footnote-14488245 -Ref: Version 2 1 0-Footnote-15488295 -Ref: Version 2 1 0-Footnote-16488352 -Ref: Version 2 1 0-Footnote-17488409 -Ref: Version 2 1 0-Footnote-18488466 -Ref: Version 2 1 0-Footnote-19488523 -Ref: Version 2 1 0-Footnote-20488578 -Node: Version 2 0 3488633 -Ref: changes version-2-0-3488736 -Ref: 2ff488736 -Ref: Version 2 0 3-Footnote-1489335 -Ref: Version 2 0 3-Footnote-2489391 -Ref: Version 2 0 3-Footnote-3489445 -Ref: Version 2 0 3-Footnote-4489501 -Node: Version 2 0 2489557 -Ref: changes version-2-0-2489660 -Ref: 300489660 -Ref: Version 2 0 2-Footnote-1491828 -Ref: Version 2 0 2-Footnote-2491884 -Ref: Version 2 0 2-Footnote-3491938 -Ref: Version 2 0 2-Footnote-4491992 -Ref: Version 2 0 2-Footnote-5492048 -Ref: Version 2 0 2-Footnote-6492104 -Ref: Version 2 0 2-Footnote-7492160 -Ref: Version 2 0 2-Footnote-8492216 -Ref: Version 2 0 2-Footnote-9492272 -Ref: Version 2 0 2-Footnote-10492328 -Ref: Version 2 0 2-Footnote-11492385 -Ref: Version 2 0 2-Footnote-12492442 -Ref: Version 2 0 2-Footnote-13492499 -Ref: Version 2 0 2-Footnote-14492554 -Ref: Version 2 0 2-Footnote-15492611 -Ref: Version 2 0 2-Footnote-16492666 -Ref: Version 2 0 2-Footnote-17492721 -Node: Version 2 0 1492778 -Ref: changes version-2-0-1492881 -Ref: 301492881 -Ref: Version 2 0 1-Footnote-1493776 -Ref: Version 2 0 1-Footnote-2493832 -Ref: Version 2 0 1-Footnote-3493888 -Ref: Version 2 0 1-Footnote-4493944 -Ref: Version 2 0 1-Footnote-5494000 -Ref: Version 2 0 1-Footnote-6494056 -Ref: Version 2 0 1-Footnote-7494112 -Node: Version 2 0 0494168 -Ref: changes version-2-0-0494271 -Ref: 302494271 -Ref: Version 2 0 0-Footnote-1505541 -Ref: Version 2 0 0-Footnote-2505595 -Ref: Version 2 0 0-Footnote-3505665 -Ref: Version 2 0 0-Footnote-4505721 -Ref: Version 2 0 0-Footnote-5505794 -Ref: Version 2 0 0-Footnote-6505850 -Ref: Version 2 0 0-Footnote-7505906 -Ref: Version 2 0 0-Footnote-8505962 -Ref: Version 2 0 0-Footnote-9506018 -Ref: Version 2 0 0-Footnote-10506074 -Ref: Version 2 0 0-Footnote-11506131 -Ref: Version 2 0 0-Footnote-12506188 -Ref: Version 2 0 0-Footnote-13506243 -Ref: Version 2 0 0-Footnote-14506300 -Ref: Version 2 0 0-Footnote-15506355 -Ref: Version 2 0 0-Footnote-16506412 -Ref: Version 2 0 0-Footnote-17506469 -Ref: Version 2 0 0-Footnote-18506524 -Ref: Version 2 0 0-Footnote-19506581 -Ref: Version 2 0 0-Footnote-20506638 -Ref: Version 2 0 0-Footnote-21506695 -Ref: Version 2 0 0-Footnote-22506750 -Ref: Version 2 0 0-Footnote-23506805 -Ref: Version 2 0 0-Footnote-24506860 -Ref: Version 2 0 0-Footnote-25506917 -Ref: Version 2 0 0-Footnote-26506974 -Ref: Version 2 0 0-Footnote-27507031 -Ref: Version 2 0 0-Footnote-28507086 -Ref: Version 2 0 0-Footnote-29507142 -Ref: Version 2 0 0-Footnote-30507197 -Ref: Version 2 0 0-Footnote-31507254 -Ref: Version 2 0 0-Footnote-32507311 -Ref: Version 2 0 0-Footnote-33507368 -Ref: Version 2 0 0-Footnote-34507425 -Ref: Version 2 0 0-Footnote-35507480 -Ref: Version 2 0 0-Footnote-36507535 -Ref: Version 2 0 0-Footnote-37507590 -Ref: Version 2 0 0-Footnote-38507645 -Ref: Version 2 0 0-Footnote-39507700 -Ref: Version 2 0 0-Footnote-40507755 -Ref: Version 2 0 0-Footnote-41507811 -Ref: Version 2 0 0-Footnote-42507868 -Ref: Version 2 0 0-Footnote-43507923 -Ref: Version 2 0 0-Footnote-44507980 -Ref: Version 2 0 0-Footnote-45508035 -Ref: Version 2 0 0-Footnote-46508090 -Ref: Version 2 0 0-Footnote-47508145 -Ref: Version 2 0 0-Footnote-48508202 -Ref: Version 2 0 0-Footnote-49508252 -Ref: Version 2 0 0-Footnote-50508307 -Ref: Version 2 0 0-Footnote-51508364 -Ref: Version 2 0 0-Footnote-52508419 -Ref: Version 2 0 0-Footnote-53508476 -Ref: Version 2 0 0-Footnote-54508533 -Ref: Version 2 0 0-Footnote-55508588 -Ref: Version 2 0 0-Footnote-56508645 -Ref: Version 2 0 0-Footnote-57508702 -Ref: Version 2 0 0-Footnote-58508759 -Ref: Version 2 0 0-Footnote-59508814 -Ref: Version 2 0 0-Footnote-60508871 -Ref: Version 2 0 0-Footnote-61508927 -Ref: Version 2 0 0-Footnote-62508984 -Ref: Version 2 0 0-Footnote-63509039 -Ref: Version 2 0 0-Footnote-64509094 -Ref: Version 2 0 0-Footnote-65509151 -Ref: Version 2 0 0-Footnote-66509208 -Ref: Version 2 0 0-Footnote-67509265 -Ref: Version 2 0 0-Footnote-68509322 -Ref: Version 2 0 0-Footnote-69509377 -Ref: Version 2 0 0-Footnote-70509432 -Ref: Version 2 0 0-Footnote-71509487 -Ref: Version 2 0 0-Footnote-72509542 -Ref: Version 2 0 0-Footnote-73509597 -Node: Version 1 0 1509652 -Ref: changes version-1-0-1509755 -Ref: 303509755 -Ref: Version 1 0 1-Footnote-1510380 -Ref: Version 1 0 1-Footnote-2510436 -Ref: Version 1 0 1-Footnote-3510490 -Ref: Version 1 0 1-Footnote-4510544 -Ref: Version 1 0 1-Footnote-5510600 -Ref: Version 1 0 1-Footnote-6510656 -Node: Version 1 0 0510712 -Ref: changes version-1-0-0510816 -Ref: 304510816 -Ref: Version 1 0 0-Footnote-1516969 -Ref: Version 1 0 0-Footnote-2517025 -Ref: Version 1 0 0-Footnote-3517081 -Ref: Version 1 0 0-Footnote-4517134 -Ref: Version 1 0 0-Footnote-5517188 -Ref: Version 1 0 0-Footnote-6517242 -Ref: Version 1 0 0-Footnote-7517298 -Ref: Version 1 0 0-Footnote-8517354 -Ref: Version 1 0 0-Footnote-9517408 -Ref: Version 1 0 0-Footnote-10517462 -Ref: Version 1 0 0-Footnote-11517518 -Ref: Version 1 0 0-Footnote-12517575 -Ref: Version 1 0 0-Footnote-13517630 -Ref: Version 1 0 0-Footnote-14517687 -Ref: Version 1 0 0-Footnote-15517742 -Ref: Version 1 0 0-Footnote-16517798 -Ref: Version 1 0 0-Footnote-17517853 -Ref: Version 1 0 0-Footnote-18517908 -Ref: Version 1 0 0-Footnote-19517963 -Ref: Version 1 0 0-Footnote-20518020 -Ref: Version 1 0 0-Footnote-21518075 -Ref: Version 1 0 0-Footnote-22518130 -Ref: Version 1 0 0-Footnote-23518186 -Ref: Version 1 0 0-Footnote-24518241 -Ref: Version 1 0 0-Footnote-25518297 -Ref: Version 1 0 0-Footnote-26518352 -Ref: Version 1 0 0-Footnote-27518407 -Ref: Version 1 0 0-Footnote-28518463 -Ref: Version 1 0 0-Footnote-29518520 -Ref: Version 1 0 0-Footnote-30518577 -Ref: Version 1 0 0-Footnote-31518634 -Ref: Version 1 0 0-Footnote-32518689 -Ref: Version 1 0 0-Footnote-33518739 -Ref: Version 1 0 0-Footnote-34518796 -Ref: Version 1 0 0-Footnote-35518853 -Ref: Version 1 0 0-Footnote-36518909 -Ref: Version 1 0 0-Footnote-37518966 -Ref: Version 1 0 0-Footnote-38519021 -Ref: Version 1 0 0-Footnote-39519076 -Ref: Version 1 0 0-Footnote-40519131 -Ref: Version 1 0 0-Footnote-41519186 -Ref: Version 1 0 0-Footnote-42519241 -Ref: Version 1 0 0-Footnote-43519297 -Ref: Version 1 0 0-Footnote-44519352 -Ref: Version 1 0 0-Footnote-45519409 -Ref: Version 1 0 0-Footnote-46519464 -Ref: Version 1 0 0-Footnote-47519519 -Ref: Version 1 0 0-Footnote-48519569 -Ref: Version 1 0 0-Footnote-49519625 -Ref: Version 1 0 0-Footnote-50519682 -Node: Version 0 16 1519739 -Ref: changes version-0-16-1519844 -Ref: 305519844 -Ref: Version 0 16 1-Footnote-1520123 -Ref: Version 0 16 1-Footnote-2520179 -Node: Version 0 16 0520235 -Ref: changes version-0-16-0520341 -Ref: 306520341 -Ref: Version 0 16 0-Footnote-1520985 -Ref: Version 0 16 0-Footnote-2521038 -Node: Version 0 15 6521092 -Ref: changes version-0-15-6521198 -Ref: 307521198 -Ref: Version 0 15 6-Footnote-1521912 -Ref: Version 0 15 6-Footnote-2521968 -Ref: Version 0 15 6-Footnote-3522024 -Node: Version 0 15 5522080 -Ref: changes version-0-15-5522186 -Ref: 308522186 -Ref: Version 0 15 5-Footnote-1523399 -Ref: Version 0 15 5-Footnote-2523455 -Ref: Version 0 15 5-Footnote-3523511 -Ref: Version 0 15 5-Footnote-4523565 -Ref: Version 0 15 5-Footnote-5523621 -Ref: Version 0 15 5-Footnote-6523677 -Ref: Version 0 15 5-Footnote-7523733 -Ref: Version 0 15 5-Footnote-8523789 -Ref: Version 0 15 5-Footnote-9523845 -Node: Version 0 15 4523901 -Ref: changes version-0-15-4524007 -Ref: 309524007 -Ref: Version 0 15 4-Footnote-1524168 -Node: Version 0 15 3524224 -Ref: changes version-0-15-3524330 -Ref: 30a524330 -Ref: Version 0 15 3-Footnote-1525302 -Ref: Version 0 15 3-Footnote-2525358 -Ref: Version 0 15 3-Footnote-3525412 -Ref: Version 0 15 3-Footnote-4525468 -Ref: Version 0 15 3-Footnote-5525524 -Ref: Version 0 15 3-Footnote-6525580 -Ref: Version 0 15 3-Footnote-7525636 -Node: Version 0 15 2525692 -Ref: changes version-0-15-2525798 -Ref: 30b525798 -Ref: Version 0 15 2-Footnote-1526701 -Ref: Version 0 15 2-Footnote-2526757 -Ref: Version 0 15 2-Footnote-3526813 -Ref: Version 0 15 2-Footnote-4526869 -Node: Version 0 15 1526925 -Ref: changes version-0-15-1527031 -Ref: 30c527031 -Ref: Version 0 15 1-Footnote-1527321 -Node: Version 0 15 0527377 -Ref: changes version-0-15-0527483 -Ref: 30d527483 -Ref: Version 0 15 0-Footnote-1541443 -Ref: Version 0 15 0-Footnote-2541497 -Ref: Version 0 15 0-Footnote-3541550 -Ref: Version 0 15 0-Footnote-4541605 -Ref: Version 0 15 0-Footnote-5541658 -Ref: Version 0 15 0-Footnote-6541712 -Ref: Version 0 15 0-Footnote-7541766 -Ref: Version 0 15 0-Footnote-8541820 -Ref: Version 0 15 0-Footnote-9541875 -Ref: Version 0 15 0-Footnote-10541928 -Ref: Version 0 15 0-Footnote-11541983 -Ref: Version 0 15 0-Footnote-12542038 -Ref: Version 0 15 0-Footnote-13542095 -Ref: Version 0 15 0-Footnote-14542150 -Ref: Version 0 15 0-Footnote-15542205 -Ref: Version 0 15 0-Footnote-16542261 -Ref: Version 0 15 0-Footnote-17542315 -Ref: Version 0 15 0-Footnote-18542370 -Ref: Version 0 15 0-Footnote-19542427 -Ref: Version 0 15 0-Footnote-20542482 -Ref: Version 0 15 0-Footnote-21542537 -Ref: Version 0 15 0-Footnote-22542587 -Ref: Version 0 15 0-Footnote-23542642 -Ref: Version 0 15 0-Footnote-24542692 -Ref: Version 0 15 0-Footnote-25542747 -Ref: Version 0 15 0-Footnote-26542802 -Ref: Version 0 15 0-Footnote-27542857 -Ref: Version 0 15 0-Footnote-28542912 -Ref: Version 0 15 0-Footnote-29542969 -Ref: Version 0 15 0-Footnote-30543024 -Ref: Version 0 15 0-Footnote-31543079 -Ref: Version 0 15 0-Footnote-32543134 -Ref: Version 0 15 0-Footnote-33543222 -Ref: Version 0 15 0-Footnote-34543283 -Ref: Version 0 15 0-Footnote-35543338 -Ref: Version 0 15 0-Footnote-36543393 -Ref: Version 0 15 0-Footnote-37543448 -Ref: Version 0 15 0-Footnote-38543503 -Ref: Version 0 15 0-Footnote-39543558 -Ref: Version 0 15 0-Footnote-40543613 -Ref: Version 0 15 0-Footnote-41543668 -Ref: Version 0 15 0-Footnote-42543723 -Ref: Version 0 15 0-Footnote-43543780 -Ref: Version 0 15 0-Footnote-44543835 -Ref: Version 0 15 0-Footnote-45543889 -Ref: Version 0 15 0-Footnote-46543944 -Ref: Version 0 15 0-Footnote-47543999 -Ref: Version 0 15 0-Footnote-48544054 -Ref: Version 0 15 0-Footnote-49544108 -Ref: Version 0 15 0-Footnote-50544163 -Ref: Version 0 15 0-Footnote-51544218 -Ref: Version 0 15 0-Footnote-52544273 -Ref: Version 0 15 0-Footnote-53544330 -Ref: Version 0 15 0-Footnote-54544385 -Ref: Version 0 15 0-Footnote-55544440 -Ref: Version 0 15 0-Footnote-56544495 -Ref: Version 0 15 0-Footnote-57544550 -Ref: Version 0 15 0-Footnote-58544605 -Ref: Version 0 15 0-Footnote-59544660 -Ref: Version 0 15 0-Footnote-60544714 -Ref: Version 0 15 0-Footnote-61544769 -Ref: Version 0 15 0-Footnote-62544838 -Ref: Version 0 15 0-Footnote-63544903 -Ref: Version 0 15 0-Footnote-64544958 -Ref: Version 0 15 0-Footnote-65545013 -Ref: Version 0 15 0-Footnote-66545068 -Ref: Version 0 15 0-Footnote-67545122 -Ref: Version 0 15 0-Footnote-68545167 -Ref: Version 0 15 0-Footnote-69545217 -Ref: Version 0 15 0-Footnote-70545273 -Ref: Version 0 15 0-Footnote-71545328 -Ref: Version 0 15 0-Footnote-72545383 -Ref: Version 0 15 0-Footnote-73545438 -Ref: Version 0 15 0-Footnote-74545495 -Ref: Version 0 15 0-Footnote-75545550 -Ref: Version 0 15 0-Footnote-76545607 -Ref: Version 0 15 0-Footnote-77545662 -Ref: Version 0 15 0-Footnote-78545717 -Ref: Version 0 15 0-Footnote-79545774 -Node: Version 0 14 1545829 -Ref: changes version-0-14-1545933 -Ref: 30e545933 -Node: Version 0 14546107 -Ref: changes version-0-14546209 -Ref: 30f546209 -Node: Version 0 13548300 -Ref: changes version-0-13548402 -Ref: 310548402 -Ref: Version 0 13-Footnote-1550273 -Ref: Version 0 13-Footnote-2550323 -Ref: Version 0 13-Footnote-3550377 -Ref: Version 0 13-Footnote-4550422 -Ref: Version 0 13-Footnote-5550476 -Ref: Version 0 13-Footnote-6550529 -Ref: Version 0 13-Footnote-7550585 -Ref: Version 0 13-Footnote-8550638 -Ref: Version 0 13-Footnote-9550691 -Ref: Version 0 13-Footnote-10550745 -Ref: Version 0 13-Footnote-11550800 -Ref: Version 0 13-Footnote-12550856 -Ref: Version 0 13-Footnote-13550911 -Ref: Version 0 13-Footnote-14550966 -Ref: Version 0 13-Footnote-15551021 -Node: Version 0 12 2551076 -Ref: changes click551180 -Ref: 311551180 -Ref: changes version-0-12-2551180 -Ref: 312551180 -Node: Version 0 12 1551477 -Ref: changes version-0-12-1551581 -Ref: 313551581 -Node: Version 0 12551877 -Ref: changes version-0-12551982 -Ref: 314551982 -Node: Version 0 11 16554768 -Ref: changes version-0-11-16554874 -Ref: 315554874 -Node: Version 0 11 15555121 -Ref: changes version-0-11-15555230 -Ref: 316555230 -Node: Version 0 11 14555363 -Ref: changes version-0-11-14555472 -Ref: 317555472 -Node: Version 0 11 13555725 -Ref: changes version-0-11-13555834 -Ref: 318555834 -Node: Version 0 11 12555995 -Ref: changes version-0-11-12556104 -Ref: 319556104 -Node: Version 0 11 11556430 -Ref: changes version-0-11-11556539 -Ref: 31a556539 -Node: Version 0 11 10557120 -Ref: changes version-0-11-10557228 -Ref: 31b557228 -Node: Version 0 11 9557591 -Ref: changes version-0-11-9557698 -Ref: 31c557698 -Node: Version 0 11 8558075 -Ref: changes version-0-11-8558181 -Ref: 31d558181 -Node: Version 0 11 7558341 -Ref: changes version-0-11-7558447 -Ref: 31e558447 -Node: Version 0 11 6558577 -Ref: changes version-0-11-6558683 -Ref: 31f558683 -Node: Version 0 11 5559300 -Ref: changes version-0-11-5559406 -Ref: 320559406 -Node: Version 0 11 4559567 -Ref: changes version-0-11-4559673 -Ref: 321559673 -Node: Version 0 11 3559848 -Ref: changes version-0-11-3559954 -Ref: 322559954 -Node: Version 0 11 2560355 -Ref: changes version-0-11-2560461 -Ref: 323560461 -Node: Version 0 11 1560900 -Ref: changes version-0-11-1561004 -Ref: 324561004 -Node: Version 0 11561136 -Ref: changes version-0-11561240 -Ref: 325561240 -Node: Version 0 10 5563375 -Ref: changes version-0-10-5563479 -Ref: 326563479 -Node: Version 0 10 4563847 -Ref: changes version-0-10-4563953 -Ref: 327563953 -Node: Version 0 10 3564115 -Ref: changes version-0-10-3564221 -Ref: 328564221 -Node: Version 0 10 2564369 -Ref: changes version-0-10-2564475 -Ref: 329564475 -Node: Version 0 10 1565217 -Ref: changes version-0-10-1565321 -Ref: 32a565321 -Node: Version 0 10565611 -Ref: changes version-0-10565714 -Ref: 32b565714 -Node: Version 0 9 7569165 -Ref: changes version-0-9-7569267 -Ref: 32c569267 -Node: Version 0 9 6571180 -Ref: changes version-0-9-6571286 -Ref: 32d571286 -Node: Version 0 9 7<2>571549 -Ref: changes id1571655 -Ref: 32e571655 -Node: Version 0 9 5571779 -Ref: changes version-0-9-5571885 -Ref: 32f571885 -Node: Version 0 9 4572660 -Ref: changes version-0-9-4572763 -Ref: 330572763 -Node: Version 0 9 3573084 -Ref: changes version-0-9-3573187 -Ref: 331573187 -Node: Version 0 9 2573771 -Ref: changes version-0-9-2573874 -Ref: 332573874 -Node: Version 0 9 1574743 -Ref: changes version-0-9-1574844 -Ref: 333574844 -Node: Version 0 9575749 -Ref: changes version-0-9575850 -Ref: 334575850 -Node: Version 0 8 4580670 -Ref: changes version-0-8-4580771 -Ref: 335580771 -Node: Version 0 8 3581656 -Ref: changes version-0-8-3581759 -Ref: 336581759 -Node: Version 0 8 2582346 -Ref: changes version-0-8-2582449 -Ref: 337582449 -Node: Version 0 8 1583127 -Ref: changes version-0-8-1583228 -Ref: 338583228 -Ref: Version 0 8 1-Footnote-1583664 -Node: Version 0 8583726 -Ref: changes version-0-8583827 -Ref: 339583827 -Node: Version 0 7 2586459 -Ref: changes version-0-7-2586560 -Ref: 33a586560 -Node: Version 0 7 1586881 -Ref: changes version-0-7-1586982 -Ref: 33b586982 -Node: Version 0 7587195 -Ref: changes version-0-7587296 -Ref: 33c587296 -Node: Version 0 6 2592626 -Ref: changes version-0-6-2592727 -Ref: 33d592727 -Node: Version 0 6 1592955 -Ref: changes version-0-6-1593056 -Ref: 33e593056 -Node: Version 0 6594392 -Ref: changes version-0-6594493 -Ref: 33f594493 -Node: Version 0 5 1598918 -Ref: changes version-0-5-1599017 -Ref: 340599017 -Node: Version 0 5600341 -Ref: changes version-0-5600442 -Ref: 341600442 -Ref: Version 0 5-Footnote-1603696 -Node: Version 0 4 1603758 -Ref: changes version-0-4-1603857 -Ref: 342603857 -Node: Version 0 4605222 -Ref: changes version-0-4605323 -Ref: 343605323 -Node: Version 0 3 1607088 -Ref: changes version-0-3-1607187 -Ref: 344607187 -Node: Version 0 3607349 -Ref: changes version-0-3607448 -Ref: 345607448 -Node: Version 0 2609497 -Ref: changes version-0-2609594 -Ref: 346609594 -Node: Version 0 1611765 -Ref: changes version-0-1611842 -Ref: 347611842 -Node: Python Module Index611954 -Node: Index612702 +Node: Top323 +Ref: index doc494 +Ref: 18494 +Ref: Top-Footnote-17663 +Node: Getting Started7710 +Ref: index getting-started7807 +Ref: 197807 +Ref: index werkzeug7807 +Ref: 1a7807 +Ref: index wsgi7807 +Ref: 1b7807 +Node: Installation7995 +Ref: installation doc8087 +Ref: 1c8087 +Ref: installation installation8087 +Ref: 1d8087 +Node: Python Version8214 +Ref: installation python-version8300 +Ref: 1e8300 +Node: Dependencies8434 +Ref: installation dependencies8549 +Ref: 1f8549 +Node: Optional dependencies8673 +Ref: installation optional-dependencies8745 +Ref: 208745 +Ref: Optional dependencies-Footnote-19202 +Ref: Optional dependencies-Footnote-29245 +Node: Virtual environments9288 +Ref: installation virtual-environments9405 +Ref: 219405 +Ref: installation watchdog9405 +Ref: 229405 +Ref: Virtual environments-Footnote-110228 +Node: Create an environment10292 +Ref: installation create-an-environment10405 +Ref: 2310405 +Node: Activate the environment10627 +Ref: installation activate-the-environment10740 +Ref: 2410740 +Node: Install Werkzeug11026 +Ref: installation install-werkzeug11122 +Ref: 2511122 +Node: Werkzeug Tutorial11278 +Ref: tutorial doc11389 +Ref: 2611389 +Ref: tutorial werkzeug-tutorial11389 +Ref: 2711389 +Ref: Werkzeug Tutorial-Footnote-112937 +Ref: Werkzeug Tutorial-Footnote-212966 +Ref: Werkzeug Tutorial-Footnote-312998 +Ref: Werkzeug Tutorial-Footnote-413024 +Node: Introducing Shortly13075 +Ref: tutorial introducing-shortly13191 +Ref: 2813191 +Ref: Introducing Shortly-Footnote-113873 +Ref: Introducing Shortly-Footnote-213899 +Node: Step 0 A Basic WSGI Introduction13925 +Ref: tutorial redis14077 +Ref: 2914077 +Ref: tutorial step-0-a-basic-wsgi-introduction14077 +Ref: 2a14077 +Node: Step 1 Creating the Folders16010 +Ref: tutorial step-1-creating-the-folders16168 +Ref: 2b16168 +Node: Step 2 The Base Structure16829 +Ref: tutorial step-2-the-base-structure16989 +Ref: 2c16989 +Node: Intermezzo Running the Application20400 +Ref: tutorial intermezzo-running-the-application20555 +Ref: 2d20555 +Node: Step 3 The Environment21076 +Ref: tutorial step-3-the-environment21224 +Ref: 2e21224 +Node: Step 4 The Routing22045 +Ref: tutorial step-4-the-routing22180 +Ref: 2f22180 +Node: Step 5 The First View24834 +Ref: tutorial step-5-the-first-view24967 +Ref: 3424967 +Node: Step 6 Redirect View27254 +Ref: tutorial step-6-redirect-view27387 +Ref: 3527387 +Node: Step 7 Detail View28111 +Ref: tutorial step-7-detail-view28239 +Ref: 3628239 +Ref: Step 7 Detail View-Footnote-129119 +Node: Step 8 Templates29180 +Ref: tutorial step-8-templates29304 +Ref: 3729304 +Node: Step 9 The Style30960 +Ref: tutorial step-9-the-style31083 +Ref: 3831083 +Node: Bonus Refinements32236 +Ref: tutorial bonus-refinements32334 +Ref: 3932334 +Ref: Bonus Refinements-Footnote-132632 +Node: API Levels32703 +Ref: levels doc32812 +Ref: 3a32812 +Ref: levels api-levels32812 +Ref: 3b32812 +Node: Example33231 +Ref: levels example33308 +Ref: 3c33308 +Node: High or Low?34900 +Ref: levels high-or-low34977 +Ref: 3d34977 +Node: Quickstart35633 +Ref: quickstart doc35741 +Ref: 3e35741 +Ref: quickstart quickstart35741 +Ref: 3f35741 +Ref: Quickstart-Footnote-136018 +Ref: Quickstart-Footnote-236067 +Node: WSGI Environment36116 +Ref: quickstart wsgi-environment36227 +Ref: 4036227 +Node: Enter Request36985 +Ref: quickstart enter-request37100 +Ref: 4137100 +Node: Header Parsing39386 +Ref: quickstart header-parsing39494 +Ref: 4239494 +Node: Responses41719 +Ref: quickstart responses41805 +Ref: 4341805 +Node: Serving and Testing45775 +Ref: index serving-and-testing45878 +Ref: 4445878 +Node: Serving WSGI Applications46020 +Ref: serving doc46137 +Ref: 4546137 +Ref: serving module-werkzeug serving46137 +Ref: 1046137 +Ref: serving serving-wsgi-applications46137 +Ref: 4646137 +Ref: serving werkzeug serving run_simple46893 +Ref: 4746893 +Ref: serving werkzeug serving is_running_from_reloader51655 +Ref: 4951655 +Ref: serving werkzeug serving make_ssl_devcert51865 +Ref: 4a51865 +Ref: Serving WSGI Applications-Footnote-153281 +Ref: Serving WSGI Applications-Footnote-253341 +Ref: Serving WSGI Applications-Footnote-353402 +Ref: Serving WSGI Applications-Footnote-453464 +Ref: Serving WSGI Applications-Footnote-553526 +Ref: Serving WSGI Applications-Footnote-653588 +Ref: Serving WSGI Applications-Footnote-753648 +Ref: Serving WSGI Applications-Footnote-853708 +Ref: Serving WSGI Applications-Footnote-953778 +Ref: Serving WSGI Applications-Footnote-1053839 +Ref: Serving WSGI Applications-Footnote-1153900 +Ref: Serving WSGI Applications-Footnote-1253963 +Ref: Serving WSGI Applications-Footnote-1354025 +Ref: Serving WSGI Applications-Footnote-1454086 +Ref: Serving WSGI Applications-Footnote-1554147 +Ref: Serving WSGI Applications-Footnote-1654208 +Ref: Serving WSGI Applications-Footnote-1754269 +Ref: Serving WSGI Applications-Footnote-1854332 +Ref: Serving WSGI Applications-Footnote-1954399 +Ref: Serving WSGI Applications-Footnote-2054460 +Ref: Serving WSGI Applications-Footnote-2154521 +Ref: Serving WSGI Applications-Footnote-2254588 +Ref: Serving WSGI Applications-Footnote-2354651 +Ref: Serving WSGI Applications-Footnote-2454714 +Ref: Serving WSGI Applications-Footnote-2554775 +Ref: Serving WSGI Applications-Footnote-2654836 +Ref: Serving WSGI Applications-Footnote-2754897 +Ref: Serving WSGI Applications-Footnote-2854958 +Node: Reloader55019 +Ref: serving id155115 +Ref: 4c55115 +Ref: serving reloader55115 +Ref: 4855115 +Ref: Reloader-Footnote-156459 +Node: Colored Logging56502 +Ref: serving colored-logging56620 +Ref: 4d56620 +Ref: Colored Logging-Footnote-156866 +Node: Virtual Hosts56909 +Ref: serving colorama57043 +Ref: 4e57043 +Ref: serving virtual-hosts57043 +Ref: 4f57043 +Ref: Virtual Hosts-Footnote-158143 +Node: Shutting Down The Server58192 +Ref: serving shutting-down-the-server58326 +Ref: 5158326 +Ref: Shutting Down The Server-Footnote-160342 +Ref: Shutting Down The Server-Footnote-260429 +Node: Troubleshooting60506 +Ref: serving troubleshooting60630 +Ref: 5260630 +Ref: Troubleshooting-Footnote-162177 +Node: SSL62226 +Ref: serving hosts-file62338 +Ref: 5362338 +Ref: serving ssl62338 +Ref: 5462338 +Node: Quickstart<2>62675 +Ref: serving quickstart62763 +Ref: 5562763 +Node: Loading Contexts by Hand63653 +Ref: serving loading-contexts-by-hand63773 +Ref: 5663773 +Node: Generating Certificates64128 +Ref: serving generating-certificates64253 +Ref: 5764253 +Node: Adhoc Certificates64631 +Ref: serving adhoc-certificates64723 +Ref: 5864723 +Node: Unix Sockets65296 +Ref: serving unix-sockets65384 +Ref: 5965384 +Ref: test module-werkzeug test65695 +Ref: 1165695 +Node: Testing WSGI Applications65696 +Ref: test doc65844 +Ref: 5a65844 +Ref: test testing-wsgi-applications65844 +Ref: 5b65844 +Node: Test Client65980 +Ref: test test-client66076 +Ref: 5c66076 +Node: Request Body66924 +Ref: test request-body67048 +Ref: 6067048 +Node: Environment Builder68160 +Ref: test environment-builder68276 +Ref: 6168276 +Node: API69100 +Ref: test api69195 +Ref: 6469195 +Ref: test werkzeug test Client69216 +Ref: 5d69216 +Ref: test werkzeug test Client set_cookie70291 +Ref: 6570291 +Ref: test werkzeug test Client delete_cookie71475 +Ref: 6671475 +Ref: test werkzeug test Client open72078 +Ref: 6772078 +Ref: test werkzeug test Client get73979 +Ref: 6973979 +Ref: test werkzeug test Client post74256 +Ref: 6a74256 +Ref: test werkzeug test Client put74535 +Ref: 6b74535 +Ref: test werkzeug test Client delete74812 +Ref: 6c74812 +Ref: test werkzeug test Client patch75095 +Ref: 6d75095 +Ref: test werkzeug test Client options75376 +Ref: 6e75376 +Ref: test werkzeug test Client head75661 +Ref: 6f75661 +Ref: test werkzeug test Client trace75940 +Ref: 7075940 +Ref: test werkzeug test TestResponse76221 +Ref: 5e76221 +Ref: test werkzeug test TestResponse request77389 +Ref: 6377389 +Ref: test werkzeug test TestResponse history77591 +Ref: 6877591 +Ref: test werkzeug test EnvironBuilder77818 +Ref: 6277818 +Ref: test werkzeug test EnvironBuilder server_protocol84625 +Ref: 7d84625 +Ref: test werkzeug test EnvironBuilder wsgi_version84736 +Ref: 7e84736 +Ref: test werkzeug test EnvironBuilder request_class84835 +Ref: 7c84835 +Ref: test werkzeug test EnvironBuilder json_dumps84935 +Ref: 7a84935 +Ref: test werkzeug test EnvironBuilder from_environ85244 +Ref: 7f85244 +Ref: test werkzeug test EnvironBuilder base_url85780 +Ref: 8085780 +Ref: test werkzeug test EnvironBuilder content_type85919 +Ref: 7885919 +Ref: test werkzeug test EnvironBuilder mimetype86157 +Ref: 8186157 +Ref: test werkzeug test EnvironBuilder mimetype_params86297 +Ref: 8286297 +Ref: test werkzeug test EnvironBuilder content_length86571 +Ref: 7786571 +Ref: test werkzeug test EnvironBuilder form86808 +Ref: 7486808 +Ref: test werkzeug test EnvironBuilder files86924 +Ref: 7586924 +Ref: test werkzeug test EnvironBuilder input_stream87117 +Ref: 7687117 +Ref: test werkzeug test EnvironBuilder query_string87437 +Ref: 8587437 +Ref: test werkzeug test EnvironBuilder args87592 +Ref: 7987592 +Ref: test werkzeug test EnvironBuilder server_name87712 +Ref: 8687712 +Ref: test werkzeug test EnvironBuilder server_port87815 +Ref: 8787815 +Ref: test werkzeug test EnvironBuilder close87929 +Ref: 8887929 +Ref: test werkzeug test EnvironBuilder get_environ88174 +Ref: 8988174 +Ref: test werkzeug test EnvironBuilder get_request88459 +Ref: 8a88459 +Ref: test werkzeug test create_environ88882 +Ref: 7388882 +Ref: test werkzeug test run_wsgi_app89744 +Ref: 8b89744 +Ref: API-Footnote-190895 +Ref: API-Footnote-290957 +Ref: API-Footnote-391019 +Ref: API-Footnote-491081 +Ref: API-Footnote-591141 +Ref: API-Footnote-691201 +Ref: API-Footnote-791261 +Ref: API-Footnote-891337 +Ref: API-Footnote-991398 +Ref: API-Footnote-1091458 +Ref: API-Footnote-1191534 +Ref: API-Footnote-1291596 +Ref: API-Footnote-1391660 +Ref: API-Footnote-1491721 +Ref: API-Footnote-1591782 +Ref: API-Footnote-1691845 +Ref: API-Footnote-1791908 +Ref: API-Footnote-1891969 +Ref: API-Footnote-1992030 +Ref: API-Footnote-2092093 +Ref: API-Footnote-2192154 +Ref: API-Footnote-2292215 +Ref: API-Footnote-2392276 +Ref: API-Footnote-2492337 +Ref: API-Footnote-2592400 +Ref: API-Footnote-2692463 +Ref: API-Footnote-2792524 +Ref: API-Footnote-2892587 +Ref: API-Footnote-2992650 +Ref: API-Footnote-3092713 +Ref: API-Footnote-3192776 +Ref: API-Footnote-3292837 +Ref: API-Footnote-3392900 +Ref: API-Footnote-3492961 +Ref: API-Footnote-3593024 +Ref: API-Footnote-3693085 +Ref: API-Footnote-3793146 +Ref: API-Footnote-3893207 +Ref: API-Footnote-3993268 +Ref: API-Footnote-4093329 +Ref: API-Footnote-4193390 +Ref: API-Footnote-4293453 +Ref: API-Footnote-4393514 +Ref: API-Footnote-4493576 +Ref: API-Footnote-4593637 +Ref: API-Footnote-4693700 +Ref: API-Footnote-4793763 +Ref: API-Footnote-4893826 +Ref: API-Footnote-4993887 +Ref: API-Footnote-5093948 +Ref: API-Footnote-5194011 +Ref: API-Footnote-5294072 +Ref: API-Footnote-5394135 +Ref: API-Footnote-5494196 +Ref: API-Footnote-5594257 +Ref: API-Footnote-5694318 +Ref: API-Footnote-5794379 +Ref: API-Footnote-5894440 +Ref: API-Footnote-5994501 +Ref: API-Footnote-6094562 +Ref: API-Footnote-6194623 +Ref: API-Footnote-6294686 +Ref: API-Footnote-6394747 +Ref: API-Footnote-6494808 +Ref: API-Footnote-6594869 +Ref: API-Footnote-6694930 +Ref: API-Footnote-6794991 +Ref: API-Footnote-6895053 +Ref: API-Footnote-6995116 +Ref: API-Footnote-7095177 +Ref: API-Footnote-7195238 +Ref: API-Footnote-7295300 +Ref: API-Footnote-7395363 +Ref: API-Footnote-7495426 +Ref: API-Footnote-7595489 +Node: Debugging Applications95550 +Ref: debug doc95664 +Ref: 8c95664 +Ref: debug debugging-applications95664 +Ref: 8d95664 +Ref: debug module-werkzeug debug95664 +Ref: 195664 +Node: Enabling the Debugger96698 +Ref: debug enabling-the-debugger96807 +Ref: 8e96807 +Ref: debug werkzeug debug DebuggedApplication97069 +Ref: 8f97069 +Ref: Enabling the Debugger-Footnote-198908 +Ref: Enabling the Debugger-Footnote-298970 +Ref: Enabling the Debugger-Footnote-399030 +Ref: Enabling the Debugger-Footnote-499090 +Ref: Enabling the Debugger-Footnote-599150 +Ref: Enabling the Debugger-Footnote-699212 +Ref: Enabling the Debugger-Footnote-799274 +Ref: Enabling the Debugger-Footnote-899336 +Node: Using the Debugger99398 +Ref: debug using-the-debugger99528 +Ref: 9099528 +Node: Debugger PIN101018 +Ref: debug debugger-pin101141 +Ref: 91101141 +Node: Pasting Errors102112 +Ref: debug pasting-errors102208 +Ref: 92102208 +Node: Reference102484 +Ref: index reference102582 +Ref: 93102582 +Node: Request / Response Objects102844 +Ref: wrappers doc102938 +Ref: 94102938 +Ref: wrappers module-werkzeug wrappers102938 +Ref: 16102938 +Ref: wrappers request-response-objects102938 +Ref: 95102938 +Node: How they Work103264 +Ref: wrappers how-they-work103389 +Ref: 96103389 +Node: Mutability and Reusability of Wrappers104755 +Ref: wrappers mutability-and-reusability-of-wrappers104904 +Ref: 97104904 +Node: Wrapper Classes106046 +Ref: wrappers wrapper-classes106173 +Ref: 98106173 +Ref: wrappers werkzeug wrappers Request106218 +Ref: 72106218 +Ref: wrappers werkzeug wrappers Request _get_file_stream107884 +Ref: 9a107884 +Ref: wrappers werkzeug wrappers Request accept_charsets109242 +Ref: 9b109242 +Ref: wrappers werkzeug wrappers Request accept_encodings109438 +Ref: 9d109438 +Ref: wrappers werkzeug wrappers Request accept_languages109720 +Ref: 9f109720 +Ref: wrappers werkzeug wrappers Request accept_mimetypes109919 +Ref: a1109919 +Ref: wrappers werkzeug wrappers Request access_control_request_headers110111 +Ref: a3110111 +Ref: wrappers werkzeug wrappers Request access_control_request_method110399 +Ref: a4110399 +Ref: wrappers werkzeug wrappers Request access_route110684 +Ref: a5110684 +Ref: wrappers werkzeug wrappers Request application110862 +Ref: a6110862 +Ref: wrappers werkzeug wrappers Request args111716 +Ref: a7111716 +Ref: wrappers werkzeug wrappers Request authorization112138 +Ref: aa112138 +Ref: wrappers werkzeug wrappers Request base_url112305 +Ref: ab112305 +Ref: wrappers werkzeug wrappers Request cache_control112404 +Ref: ad112404 +Ref: wrappers werkzeug wrappers Request close112610 +Ref: af112610 +Ref: wrappers werkzeug wrappers Request content_encoding112929 +Ref: b0112929 +Ref: wrappers werkzeug wrappers Request content_length113375 +Ref: b1113375 +Ref: wrappers werkzeug wrappers Request content_md5113674 +Ref: b2113674 +Ref: wrappers werkzeug wrappers Request content_type114125 +Ref: b3114125 +Ref: wrappers werkzeug wrappers Request cookies114408 +Ref: b4114408 +Ref: wrappers werkzeug wrappers Request data114569 +Ref: b5114569 +Ref: wrappers werkzeug wrappers Request date114729 +Ref: b6114729 +Ref: wrappers werkzeug wrappers Request dict_storage_class115007 +Ref: b7115007 +Ref: wrappers werkzeug wrappers Request disable_data_descriptor115121 +Ref: b8115121 +Ref: wrappers werkzeug wrappers Request environ115458 +Ref: b9115458 +Ref: wrappers werkzeug wrappers Request files115608 +Ref: ba115608 +Ref: wrappers werkzeug wrappers Request form116540 +Ref: bd116540 +Ref: wrappers werkzeug wrappers Request form_data_parser_class117168 +Ref: be117168 +Ref: wrappers werkzeug wrappers Request from_values117278 +Ref: c0117278 +Ref: wrappers werkzeug wrappers Request full_path118270 +Ref: c1118270 +Ref: wrappers werkzeug wrappers Request get_data118364 +Ref: c2118364 +Ref: wrappers werkzeug wrappers Request get_json119978 +Ref: c3119978 +Ref: wrappers werkzeug wrappers Request headers120753 +Ref: c6120753 +Ref: wrappers werkzeug wrappers Request host120832 +Ref: c7120832 +Ref: wrappers werkzeug wrappers Request host_url121006 +Ref: c8121006 +Ref: wrappers werkzeug wrappers Request if_match121093 +Ref: c9121093 +Ref: wrappers werkzeug wrappers Request if_modified_since121282 +Ref: cb121282 +Ref: wrappers werkzeug wrappers Request if_none_match121502 +Ref: cc121502 +Ref: wrappers werkzeug wrappers Request if_range121726 +Ref: cd121726 +Ref: wrappers werkzeug wrappers Request if_unmodified_since121948 +Ref: cf121948 +Ref: wrappers werkzeug wrappers Request input_stream122172 +Ref: d0122172 +Ref: wrappers werkzeug wrappers Request is_json122399 +Ref: c4122399 +Ref: wrappers werkzeug wrappers Request is_multiprocess122560 +Ref: d1122560 +Ref: wrappers werkzeug wrappers Request is_multithread122723 +Ref: d2122723 +Ref: wrappers werkzeug wrappers Request is_run_once122868 +Ref: d3122868 +Ref: wrappers werkzeug wrappers Request is_secure123145 +Ref: d4123145 +Ref: wrappers werkzeug wrappers Request json123280 +Ref: d5123280 +Ref: wrappers werkzeug wrappers Request json_module123513 +Ref: d7123513 +Ref: wrappers werkzeug wrappers Request list_storage_class123769 +Ref: d8123769 +Ref: wrappers werkzeug wrappers Request make_form_data_parser123878 +Ref: da123878 +Ref: wrappers werkzeug wrappers Request max_content_length124148 +Ref: db124148 +Ref: wrappers werkzeug wrappers Request max_form_memory_size124712 +Ref: de124712 +Ref: wrappers werkzeug wrappers Request max_forwards125266 +Ref: df125266 +Ref: wrappers werkzeug wrappers Request method125535 +Ref: e0125535 +Ref: wrappers werkzeug wrappers Request mimetype125631 +Ref: d6125631 +Ref: wrappers werkzeug wrappers Request mimetype_params125926 +Ref: e1125926 +Ref: wrappers werkzeug wrappers Request on_json_loading_failed126165 +Ref: c5126165 +Ref: wrappers werkzeug wrappers Request origin126548 +Ref: e3126548 +Ref: wrappers werkzeug wrappers Request parameter_storage_class126744 +Ref: a9126744 +Ref: wrappers werkzeug wrappers Request path126863 +Ref: e4126863 +Ref: wrappers werkzeug wrappers Request pragma127021 +Ref: e6127021 +Ref: wrappers werkzeug wrappers Request query_string127477 +Ref: e8127477 +Ref: wrappers werkzeug wrappers Request range127638 +Ref: e9127638 +Ref: wrappers werkzeug wrappers Request referrer127846 +Ref: eb127846 +Ref: wrappers werkzeug wrappers Request remote_addr128150 +Ref: ec128150 +Ref: wrappers werkzeug wrappers Request remote_user128241 +Ref: ed128241 +Ref: wrappers werkzeug wrappers Request root_path128446 +Ref: e5128446 +Ref: wrappers werkzeug wrappers Request root_url128609 +Ref: ee128609 +Ref: wrappers werkzeug wrappers Request scheme128770 +Ref: ef128770 +Ref: wrappers werkzeug wrappers Request script_root128902 +Ref: f0128902 +Ref: wrappers werkzeug wrappers Request server129052 +Ref: f1129052 +Ref: wrappers werkzeug wrappers Request shallow129214 +Ref: f2129214 +Ref: wrappers werkzeug wrappers Request stream129462 +Ref: 99129462 +Ref: wrappers werkzeug wrappers Request url130350 +Ref: ac130350 +Ref: wrappers werkzeug wrappers Request url_charset130483 +Ref: f3130483 +Ref: wrappers werkzeug wrappers Request url_root130655 +Ref: f4130655 +Ref: wrappers werkzeug wrappers Request user_agent130833 +Ref: f5130833 +Ref: wrappers werkzeug wrappers Request user_agent_class131353 +Ref: f7131353 +Ref: wrappers werkzeug wrappers Request values131448 +Ref: f8131448 +Ref: wrappers werkzeug wrappers Request want_form_data_parsed131820 +Ref: fa131820 +Ref: wrappers werkzeug wrappers Response132032 +Ref: 5f132032 +Ref: wrappers werkzeug wrappers Response __call__135682 +Ref: fc135682 +Ref: wrappers werkzeug wrappers Response _ensure_sequence136112 +Ref: fd136112 +Ref: wrappers werkzeug wrappers Response accept_ranges136472 +Ref: fe136472 +Ref: wrappers werkzeug wrappers Response access_control_allow_credentials136773 +Ref: ff136773 +Ref: wrappers werkzeug wrappers Response access_control_allow_headers137044 +Ref: 100137044 +Ref: wrappers werkzeug wrappers Response access_control_allow_methods137162 +Ref: 101137162 +Ref: wrappers werkzeug wrappers Response access_control_allow_origin137279 +Ref: 102137279 +Ref: wrappers werkzeug wrappers Response access_control_expose_headers137423 +Ref: 103137423 +Ref: wrappers werkzeug wrappers Response access_control_max_age137548 +Ref: 104137548 +Ref: wrappers werkzeug wrappers Response add_etag137687 +Ref: 105137687 +Ref: wrappers werkzeug wrappers Response age138090 +Ref: 106138090 +Ref: wrappers werkzeug wrappers Response allow138404 +Ref: 107138404 +Ref: wrappers werkzeug wrappers Response autocorrect_location_header138827 +Ref: 108138827 +Ref: wrappers werkzeug wrappers Response automatically_set_content_length139039 +Ref: 109139039 +Ref: wrappers werkzeug wrappers Response cache_control139263 +Ref: 10a139263 +Ref: wrappers werkzeug wrappers Response calculate_content_length139550 +Ref: 10c139550 +Ref: wrappers werkzeug wrappers Response call_on_close139715 +Ref: 10d139715 +Ref: wrappers werkzeug wrappers Response close140188 +Ref: 10e140188 +Ref: wrappers werkzeug wrappers Response content_encoding140462 +Ref: 10f140462 +Ref: wrappers werkzeug wrappers Response content_language140877 +Ref: 110140877 +Ref: wrappers werkzeug wrappers Response content_length141230 +Ref: 111141230 +Ref: wrappers werkzeug wrappers Response content_location141564 +Ref: 112141564 +Ref: wrappers werkzeug wrappers Response content_md5141860 +Ref: 113141860 +Ref: wrappers werkzeug wrappers Response content_range142280 +Ref: 114142280 +Ref: wrappers werkzeug wrappers Response content_security_policy142542 +Ref: 116142542 +Ref: wrappers werkzeug wrappers Response content_security_policy_report_only142950 +Ref: 117142950 +Ref: wrappers werkzeug wrappers Response content_type143417 +Ref: 118143417 +Ref: wrappers werkzeug wrappers Response cross_origin_embedder_policy143700 +Ref: 119143700 +Ref: wrappers werkzeug wrappers Response cross_origin_opener_policy143958 +Ref: 11a143958 +Ref: wrappers werkzeug wrappers Response data144183 +Ref: 11b144183 +Ref: wrappers werkzeug wrappers Response date144330 +Ref: 11e144330 +Ref: wrappers werkzeug wrappers Response delete_cookie144608 +Ref: 11f144608 +Ref: wrappers werkzeug wrappers Response direct_passthrough145715 +Ref: 120145715 +Ref: wrappers werkzeug wrappers Response expires146029 +Ref: 121146029 +Ref: wrappers werkzeug wrappers Response force_type146323 +Ref: 122146323 +Ref: wrappers werkzeug wrappers Response freeze147876 +Ref: 123147876 +Ref: wrappers werkzeug wrappers Response from_app148616 +Ref: 124148616 +Ref: wrappers werkzeug wrappers Response get_app_iter149599 +Ref: 125149599 +Ref: wrappers werkzeug wrappers Response get_data150299 +Ref: 11c150299 +Ref: wrappers werkzeug wrappers Response get_etag150928 +Ref: 127150928 +Ref: wrappers werkzeug wrappers Response get_json151184 +Ref: 128151184 +Ref: wrappers werkzeug wrappers Response get_wsgi_headers151799 +Ref: 12a151799 +Ref: wrappers werkzeug wrappers Response get_wsgi_response153071 +Ref: 12b153071 +Ref: wrappers werkzeug wrappers Response implicit_sequence_conversion153883 +Ref: 126153883 +Ref: wrappers werkzeug wrappers Response is_json154344 +Ref: 129154344 +Ref: wrappers werkzeug wrappers Response is_sequence154506 +Ref: 12c154506 +Ref: wrappers werkzeug wrappers Response is_streamed154780 +Ref: 12d154780 +Ref: wrappers werkzeug wrappers Response iter_encoded155302 +Ref: 12e155302 +Ref: wrappers werkzeug wrappers Response json155655 +Ref: 12f155655 +Ref: wrappers werkzeug wrappers Response json_module155891 +Ref: 131155891 +Ref: wrappers werkzeug wrappers Response last_modified156148 +Ref: 132156148 +Ref: wrappers werkzeug wrappers Response location156421 +Ref: 133156421 +Ref: wrappers werkzeug wrappers Response make_conditional156659 +Ref: 134156659 +Ref: wrappers werkzeug wrappers Response make_sequence159082 +Ref: 137159082 +Ref: wrappers werkzeug wrappers Response mimetype159498 +Ref: 130159498 +Ref: wrappers werkzeug wrappers Response mimetype_params159607 +Ref: 138159607 +Ref: wrappers werkzeug wrappers Response response159879 +Ref: 139159879 +Ref: wrappers werkzeug wrappers Response retry_after160379 +Ref: 13a160379 +Ref: wrappers werkzeug wrappers Response set_cookie160794 +Ref: 13b160794 +Ref: wrappers werkzeug wrappers Response set_data162895 +Ref: 11d162895 +Ref: wrappers werkzeug wrappers Response set_etag163276 +Ref: 13c163276 +Ref: wrappers werkzeug wrappers Response status163534 +Ref: 13d163534 +Ref: wrappers werkzeug wrappers Response status_code163616 +Ref: 13e163616 +Ref: wrappers werkzeug wrappers Response stream163703 +Ref: 13f163703 +Ref: wrappers werkzeug wrappers Response vary163828 +Ref: 140163828 +Ref: wrappers werkzeug wrappers Response www_authenticate164160 +Ref: 141164160 +Ref: Wrapper Classes-Footnote-1164364 +Ref: Wrapper Classes-Footnote-2164426 +Ref: Wrapper Classes-Footnote-3164488 +Ref: Wrapper Classes-Footnote-4164559 +Ref: Wrapper Classes-Footnote-5164621 +Ref: Wrapper Classes-Footnote-6164682 +Ref: Wrapper Classes-Footnote-7164742 +Ref: Wrapper Classes-Footnote-8164802 +Ref: Wrapper Classes-Footnote-9164863 +Ref: Wrapper Classes-Footnote-10164925 +Ref: Wrapper Classes-Footnote-11164986 +Ref: Wrapper Classes-Footnote-12165047 +Ref: Wrapper Classes-Footnote-13165108 +Ref: Wrapper Classes-Footnote-14165169 +Ref: Wrapper Classes-Footnote-15165232 +Ref: Wrapper Classes-Footnote-16165294 +Ref: Wrapper Classes-Footnote-17165355 +Ref: Wrapper Classes-Footnote-18165416 +Ref: Wrapper Classes-Footnote-19165478 +Ref: Wrapper Classes-Footnote-20165541 +Ref: Wrapper Classes-Footnote-21165604 +Ref: Wrapper Classes-Footnote-22165665 +Ref: Wrapper Classes-Footnote-23165726 +Ref: Wrapper Classes-Footnote-24165787 +Ref: Wrapper Classes-Footnote-25165848 +Ref: Wrapper Classes-Footnote-26165911 +Ref: Wrapper Classes-Footnote-27165974 +Ref: Wrapper Classes-Footnote-28166037 +Ref: Wrapper Classes-Footnote-29166100 +Ref: Wrapper Classes-Footnote-30166161 +Ref: Wrapper Classes-Footnote-31166224 +Ref: Wrapper Classes-Footnote-32166287 +Ref: Wrapper Classes-Footnote-33166350 +Ref: Wrapper Classes-Footnote-34166411 +Ref: Wrapper Classes-Footnote-35166472 +Ref: Wrapper Classes-Footnote-36166548 +Ref: Wrapper Classes-Footnote-37166624 +Ref: Wrapper Classes-Footnote-38166687 +Ref: Wrapper Classes-Footnote-39166750 +Ref: Wrapper Classes-Footnote-40166815 +Ref: Wrapper Classes-Footnote-41166877 +Ref: Wrapper Classes-Footnote-42166939 +Ref: Wrapper Classes-Footnote-43167000 +Ref: Wrapper Classes-Footnote-44167061 +Ref: Wrapper Classes-Footnote-45167122 +Ref: Wrapper Classes-Footnote-46167192 +Ref: Wrapper Classes-Footnote-47167253 +Ref: Wrapper Classes-Footnote-48167314 +Ref: Wrapper Classes-Footnote-49167377 +Ref: Wrapper Classes-Footnote-50167440 +Ref: Wrapper Classes-Footnote-51167501 +Ref: Wrapper Classes-Footnote-52167562 +Ref: Wrapper Classes-Footnote-53167623 +Ref: Wrapper Classes-Footnote-54167684 +Ref: Wrapper Classes-Footnote-55167745 +Ref: Wrapper Classes-Footnote-56167808 +Ref: Wrapper Classes-Footnote-57167869 +Ref: Wrapper Classes-Footnote-58167932 +Ref: Wrapper Classes-Footnote-59167994 +Ref: Wrapper Classes-Footnote-60168055 +Ref: Wrapper Classes-Footnote-61168124 +Ref: Wrapper Classes-Footnote-62168185 +Ref: Wrapper Classes-Footnote-63168246 +Ref: Wrapper Classes-Footnote-64168309 +Ref: Wrapper Classes-Footnote-65168372 +Ref: Wrapper Classes-Footnote-66168435 +Ref: Wrapper Classes-Footnote-67168498 +Ref: Wrapper Classes-Footnote-68168561 +Ref: Wrapper Classes-Footnote-69168624 +Ref: Wrapper Classes-Footnote-70168687 +Ref: Wrapper Classes-Footnote-71168750 +Ref: Wrapper Classes-Footnote-72168813 +Ref: Wrapper Classes-Footnote-73168875 +Ref: Wrapper Classes-Footnote-74168938 +Ref: Wrapper Classes-Footnote-75169001 +Ref: Wrapper Classes-Footnote-76169062 +Ref: Wrapper Classes-Footnote-77169123 +Ref: Wrapper Classes-Footnote-78169184 +Ref: Wrapper Classes-Footnote-79169245 +Ref: Wrapper Classes-Footnote-80169308 +Ref: Wrapper Classes-Footnote-81169371 +Ref: Wrapper Classes-Footnote-82169432 +Ref: Wrapper Classes-Footnote-83169495 +Ref: Wrapper Classes-Footnote-84169558 +Ref: Wrapper Classes-Footnote-85169621 +Ref: Wrapper Classes-Footnote-86169684 +Ref: Wrapper Classes-Footnote-87169747 +Ref: Wrapper Classes-Footnote-88169810 +Ref: Wrapper Classes-Footnote-89169873 +Ref: Wrapper Classes-Footnote-90169934 +Ref: Wrapper Classes-Footnote-91169995 +Ref: Wrapper Classes-Footnote-92170058 +Ref: Wrapper Classes-Footnote-93170121 +Ref: Wrapper Classes-Footnote-94170184 +Ref: Wrapper Classes-Footnote-95170247 +Ref: Wrapper Classes-Footnote-96170310 +Ref: Wrapper Classes-Footnote-97170373 +Ref: Wrapper Classes-Footnote-98170434 +Ref: Wrapper Classes-Footnote-99170495 +Ref: Wrapper Classes-Footnote-100170556 +Ref: Wrapper Classes-Footnote-101170620 +Ref: Wrapper Classes-Footnote-102170684 +Ref: Wrapper Classes-Footnote-103170748 +Ref: Wrapper Classes-Footnote-104170812 +Ref: Wrapper Classes-Footnote-105170878 +Ref: Wrapper Classes-Footnote-106170940 +Ref: Wrapper Classes-Footnote-107171004 +Ref: Wrapper Classes-Footnote-108171066 +Ref: Wrapper Classes-Footnote-109171129 +Ref: Wrapper Classes-Footnote-110171193 +Ref: Wrapper Classes-Footnote-111171255 +Ref: Wrapper Classes-Footnote-112171317 +Ref: Wrapper Classes-Footnote-113171379 +Ref: Wrapper Classes-Footnote-114171441 +Ref: Wrapper Classes-Footnote-115171505 +Ref: Wrapper Classes-Footnote-116171582 +Ref: Wrapper Classes-Footnote-117171644 +Ref: Wrapper Classes-Footnote-118171706 +Ref: Wrapper Classes-Footnote-119171784 +Ref: Wrapper Classes-Footnote-120171847 +Ref: Wrapper Classes-Footnote-121171909 +Ref: Wrapper Classes-Footnote-122171986 +Ref: Wrapper Classes-Footnote-123172049 +Ref: Wrapper Classes-Footnote-124172114 +Ref: Wrapper Classes-Footnote-125172176 +Ref: Wrapper Classes-Footnote-126172238 +Ref: Wrapper Classes-Footnote-127172302 +Ref: Wrapper Classes-Footnote-128172366 +Ref: Wrapper Classes-Footnote-129172428 +Ref: Wrapper Classes-Footnote-130172492 +Ref: Wrapper Classes-Footnote-131172556 +Ref: Wrapper Classes-Footnote-132172618 +Ref: Wrapper Classes-Footnote-133172682 +Ref: Wrapper Classes-Footnote-134172744 +Ref: Wrapper Classes-Footnote-135172808 +Ref: Wrapper Classes-Footnote-136172872 +Ref: Wrapper Classes-Footnote-137172934 +Node: URL Routing172997 +Ref: routing doc173112 +Ref: 50173112 +Ref: routing module-werkzeug routing173112 +Ref: e173112 +Ref: routing url-routing173112 +Ref: 143173112 +Ref: URL Routing-Footnote-1173849 +Node: Quickstart<3>173898 +Ref: routing quickstart173981 +Ref: 144173981 +Ref: routing routes173981 +Ref: 145173981 +Node: Rule Format176127 +Ref: routing rule-format176238 +Ref: 149176238 +Node: Built-in Converters177254 +Ref: routing built-in-converters177375 +Ref: 14a177375 +Ref: routing werkzeug routing UnicodeConverter177579 +Ref: 14c177579 +Ref: routing werkzeug routing PathConverter178400 +Ref: 14d178400 +Ref: routing werkzeug routing AnyConverter178866 +Ref: 14e178866 +Ref: routing werkzeug routing IntegerConverter179316 +Ref: 14f179316 +Ref: routing werkzeug routing FloatConverter180337 +Ref: 150180337 +Ref: routing werkzeug routing UUIDConverter181128 +Ref: 151181128 +Ref: Built-in Converters-Footnote-1181537 +Ref: Built-in Converters-Footnote-2181598 +Ref: Built-in Converters-Footnote-3181659 +Ref: Built-in Converters-Footnote-4181720 +Ref: Built-in Converters-Footnote-5181782 +Ref: Built-in Converters-Footnote-6181844 +Ref: Built-in Converters-Footnote-7181904 +Ref: Built-in Converters-Footnote-8181966 +Ref: Built-in Converters-Footnote-9182027 +Ref: Built-in Converters-Footnote-10182088 +Ref: Built-in Converters-Footnote-11182150 +Ref: Built-in Converters-Footnote-12182213 +Ref: Built-in Converters-Footnote-13182276 +Ref: Built-in Converters-Footnote-14182340 +Ref: Built-in Converters-Footnote-15182404 +Ref: Built-in Converters-Footnote-16182467 +Ref: Built-in Converters-Footnote-17182530 +Node: Maps Rules and Adapters182593 +Ref: routing maps-rules-and-adapters182717 +Ref: 152182717 +Ref: routing werkzeug routing Map182780 +Ref: 30182780 +Ref: routing werkzeug routing Map converters185798 +Ref: 14b185798 +Ref: routing werkzeug routing Map add186154 +Ref: 154186154 +Ref: routing werkzeug routing Map bind186492 +Ref: 155186492 +Ref: routing werkzeug routing Map bind_to_environ188578 +Ref: 156188578 +Ref: routing werkzeug routing Map default_converters190977 +Ref: 157190977 +Ref: routing werkzeug routing Map is_endpoint_expecting191540 +Ref: 158191540 +Ref: routing werkzeug routing Map iter_rules192284 +Ref: 159192284 +Ref: routing werkzeug routing Map lock_class192643 +Ref: 15a192643 +Ref: routing werkzeug routing Map update192756 +Ref: 15b192756 +Ref: routing werkzeug routing MapAdapter192945 +Ref: 146192945 +Ref: routing werkzeug routing MapAdapter allowed_methods193787 +Ref: 15c193787 +Ref: routing werkzeug routing MapAdapter build194060 +Ref: 15d194060 +Ref: routing werkzeug routing MapAdapter dispatch197815 +Ref: 15e197815 +Ref: routing werkzeug routing MapAdapter get_host200401 +Ref: 15f200401 +Ref: routing werkzeug routing MapAdapter make_alias_redirect_url200735 +Ref: 160200735 +Ref: routing werkzeug routing MapAdapter match201316 +Ref: 147201316 +Ref: routing werkzeug routing MapAdapter test205984 +Ref: 161205984 +Ref: routing werkzeug routing Rule206599 +Ref: 31206599 +Ref: routing werkzeug routing Rule empty213548 +Ref: 162213548 +Ref: Maps Rules and Adapters-Footnote-1213915 +Ref: Maps Rules and Adapters-Footnote-2213975 +Ref: Maps Rules and Adapters-Footnote-3214035 +Ref: Maps Rules and Adapters-Footnote-4214097 +Ref: Maps Rules and Adapters-Footnote-5214159 +Ref: Maps Rules and Adapters-Footnote-6214221 +Ref: Maps Rules and Adapters-Footnote-7214281 +Ref: Maps Rules and Adapters-Footnote-8214343 +Ref: Maps Rules and Adapters-Footnote-9214403 +Ref: Maps Rules and Adapters-Footnote-10214465 +Ref: Maps Rules and Adapters-Footnote-11214528 +Ref: Maps Rules and Adapters-Footnote-12214591 +Ref: Maps Rules and Adapters-Footnote-13214652 +Ref: Maps Rules and Adapters-Footnote-14214713 +Ref: Maps Rules and Adapters-Footnote-15214774 +Ref: Maps Rules and Adapters-Footnote-16214835 +Ref: Maps Rules and Adapters-Footnote-17214896 +Ref: Maps Rules and Adapters-Footnote-18214957 +Ref: Maps Rules and Adapters-Footnote-19215018 +Ref: Maps Rules and Adapters-Footnote-20215079 +Ref: Maps Rules and Adapters-Footnote-21215140 +Ref: Maps Rules and Adapters-Footnote-22215201 +Ref: Maps Rules and Adapters-Footnote-23215262 +Ref: Maps Rules and Adapters-Footnote-24215323 +Ref: Maps Rules and Adapters-Footnote-25215386 +Ref: Maps Rules and Adapters-Footnote-26215447 +Ref: Maps Rules and Adapters-Footnote-27215510 +Ref: Maps Rules and Adapters-Footnote-28215571 +Ref: Maps Rules and Adapters-Footnote-29215632 +Ref: Maps Rules and Adapters-Footnote-30215693 +Ref: Maps Rules and Adapters-Footnote-31215754 +Ref: Maps Rules and Adapters-Footnote-32215815 +Ref: Maps Rules and Adapters-Footnote-33215876 +Ref: Maps Rules and Adapters-Footnote-34215937 +Ref: Maps Rules and Adapters-Footnote-35215998 +Ref: Maps Rules and Adapters-Footnote-36216059 +Ref: Maps Rules and Adapters-Footnote-37216120 +Ref: Maps Rules and Adapters-Footnote-38216181 +Ref: Maps Rules and Adapters-Footnote-39216242 +Ref: Maps Rules and Adapters-Footnote-40216303 +Ref: Maps Rules and Adapters-Footnote-41216366 +Ref: Maps Rules and Adapters-Footnote-42216429 +Ref: Maps Rules and Adapters-Footnote-43216490 +Ref: Maps Rules and Adapters-Footnote-44216551 +Ref: Maps Rules and Adapters-Footnote-45216612 +Ref: Maps Rules and Adapters-Footnote-46216673 +Ref: Maps Rules and Adapters-Footnote-47216734 +Ref: Maps Rules and Adapters-Footnote-48216795 +Ref: Maps Rules and Adapters-Footnote-49216858 +Ref: Maps Rules and Adapters-Footnote-50216919 +Ref: Maps Rules and Adapters-Footnote-51216980 +Ref: Maps Rules and Adapters-Footnote-52217041 +Ref: Maps Rules and Adapters-Footnote-53217102 +Ref: Maps Rules and Adapters-Footnote-54217163 +Ref: Maps Rules and Adapters-Footnote-55217224 +Ref: Maps Rules and Adapters-Footnote-56217285 +Ref: Maps Rules and Adapters-Footnote-57217346 +Ref: Maps Rules and Adapters-Footnote-58217407 +Ref: Maps Rules and Adapters-Footnote-59217468 +Ref: Maps Rules and Adapters-Footnote-60217529 +Ref: Maps Rules and Adapters-Footnote-61217592 +Ref: Maps Rules and Adapters-Footnote-62217653 +Ref: Maps Rules and Adapters-Footnote-63217714 +Ref: Maps Rules and Adapters-Footnote-64217777 +Ref: Maps Rules and Adapters-Footnote-65217838 +Ref: Maps Rules and Adapters-Footnote-66217899 +Ref: Maps Rules and Adapters-Footnote-67217960 +Ref: Maps Rules and Adapters-Footnote-68218021 +Ref: Maps Rules and Adapters-Footnote-69218084 +Ref: Maps Rules and Adapters-Footnote-70218145 +Ref: Maps Rules and Adapters-Footnote-71218206 +Ref: Maps Rules and Adapters-Footnote-72218267 +Ref: Maps Rules and Adapters-Footnote-73218328 +Ref: Maps Rules and Adapters-Footnote-74218391 +Ref: Maps Rules and Adapters-Footnote-75218452 +Ref: Maps Rules and Adapters-Footnote-76218515 +Ref: Maps Rules and Adapters-Footnote-77218578 +Ref: Maps Rules and Adapters-Footnote-78218639 +Ref: Maps Rules and Adapters-Footnote-79218700 +Ref: Maps Rules and Adapters-Footnote-80218763 +Ref: Maps Rules and Adapters-Footnote-81218824 +Ref: Maps Rules and Adapters-Footnote-82218887 +Node: Rule Factories218950 +Ref: routing rule-factories219069 +Ref: 163219069 +Ref: routing werkzeug routing RuleFactory219112 +Ref: 153219112 +Ref: routing werkzeug routing RuleFactory get_rules219398 +Ref: 164219398 +Ref: routing werkzeug routing Subdomain219687 +Ref: 165219687 +Ref: routing werkzeug routing Submount220629 +Ref: 166220629 +Ref: routing werkzeug routing EndpointPrefix221276 +Ref: 167221276 +Ref: Rule Factories-Footnote-1221973 +Ref: Rule Factories-Footnote-2222033 +Ref: Rule Factories-Footnote-3222095 +Ref: Rule Factories-Footnote-4222155 +Ref: Rule Factories-Footnote-5222217 +Ref: Rule Factories-Footnote-6222277 +Node: Rule Templates222339 +Ref: routing rule-templates222452 +Ref: 168222452 +Ref: routing werkzeug routing RuleTemplate222495 +Ref: 169222495 +Ref: Rule Templates-Footnote-1223307 +Node: Custom Converters223369 +Ref: routing custom-converters223481 +Ref: 16a223481 +Node: Host Matching225632 +Ref: routing host-matching225740 +Ref: 16b225740 +Node: WebSockets226505 +Ref: routing websockets226587 +Ref: 16c226587 +Node: WSGI Helpers227539 +Ref: wsgi doc227648 +Ref: 16d227648 +Ref: wsgi module-werkzeug wsgi227648 +Ref: 17227648 +Ref: wsgi wsgi-helpers227648 +Ref: 16e227648 +Node: Iterator / Stream Helpers228107 +Ref: wsgi iterator-stream-helpers228207 +Ref: 16f228207 +Ref: wsgi werkzeug wsgi ClosingIterator228375 +Ref: 170228375 +Ref: wsgi werkzeug wsgi FileWrapper229681 +Ref: 171229681 +Ref: wsgi werkzeug wsgi LimitedStream230477 +Ref: 172230477 +Ref: wsgi werkzeug wsgi LimitedStream exhaust232225 +Ref: 178232225 +Ref: wsgi werkzeug wsgi LimitedStream is_exhausted232585 +Ref: 179232585 +Ref: wsgi werkzeug wsgi LimitedStream on_disconnect232696 +Ref: 17a232696 +Ref: wsgi werkzeug wsgi LimitedStream on_exhausted233018 +Ref: 173233018 +Ref: wsgi werkzeug wsgi LimitedStream read233252 +Ref: 174233252 +Ref: wsgi werkzeug wsgi LimitedStream readable233525 +Ref: 17c233525 +Ref: wsgi werkzeug wsgi LimitedStream readline233694 +Ref: 176233694 +Ref: wsgi werkzeug wsgi LimitedStream readlines233888 +Ref: 175233888 +Ref: wsgi werkzeug wsgi LimitedStream tell234299 +Ref: 17d234299 +Ref: wsgi werkzeug wsgi make_line_iter234436 +Ref: 177234436 +Ref: wsgi werkzeug wsgi make_chunk_iter236202 +Ref: 17e236202 +Ref: wsgi werkzeug wsgi wrap_file237611 +Ref: 135237611 +Ref: Iterator / Stream Helpers-Footnote-1238570 +Ref: Iterator / Stream Helpers-Footnote-2238632 +Ref: Iterator / Stream Helpers-Footnote-3238694 +Ref: Iterator / Stream Helpers-Footnote-4238756 +Ref: Iterator / Stream Helpers-Footnote-5238818 +Ref: Iterator / Stream Helpers-Footnote-6238880 +Ref: Iterator / Stream Helpers-Footnote-7238941 +Ref: Iterator / Stream Helpers-Footnote-8239003 +Ref: Iterator / Stream Helpers-Footnote-9239065 +Ref: Iterator / Stream Helpers-Footnote-10239126 +Ref: Iterator / Stream Helpers-Footnote-11239189 +Ref: Iterator / Stream Helpers-Footnote-12239251 +Ref: Iterator / Stream Helpers-Footnote-13239314 +Ref: Iterator / Stream Helpers-Footnote-14239377 +Ref: Iterator / Stream Helpers-Footnote-15239440 +Ref: Iterator / Stream Helpers-Footnote-16239503 +Ref: Iterator / Stream Helpers-Footnote-17239565 +Ref: Iterator / Stream Helpers-Footnote-18239628 +Ref: Iterator / Stream Helpers-Footnote-19239691 +Ref: Iterator / Stream Helpers-Footnote-20239753 +Ref: Iterator / Stream Helpers-Footnote-21239816 +Ref: Iterator / Stream Helpers-Footnote-22239878 +Ref: Iterator / Stream Helpers-Footnote-23239941 +Ref: Iterator / Stream Helpers-Footnote-24240003 +Ref: Iterator / Stream Helpers-Footnote-25240066 +Ref: Iterator / Stream Helpers-Footnote-26240129 +Ref: Iterator / Stream Helpers-Footnote-27240191 +Ref: Iterator / Stream Helpers-Footnote-28240253 +Ref: Iterator / Stream Helpers-Footnote-29240316 +Ref: Iterator / Stream Helpers-Footnote-30240379 +Ref: Iterator / Stream Helpers-Footnote-31240442 +Ref: Iterator / Stream Helpers-Footnote-32240505 +Ref: Iterator / Stream Helpers-Footnote-33240568 +Ref: Iterator / Stream Helpers-Footnote-34240630 +Ref: Iterator / Stream Helpers-Footnote-35240692 +Ref: Iterator / Stream Helpers-Footnote-36240755 +Ref: Iterator / Stream Helpers-Footnote-37240818 +Ref: Iterator / Stream Helpers-Footnote-38240868 +Ref: Iterator / Stream Helpers-Footnote-39240931 +Ref: Iterator / Stream Helpers-Footnote-40240993 +Node: Environ Helpers241056 +Ref: wsgi environ-helpers241184 +Ref: 17f241184 +Ref: wsgi werkzeug wsgi get_host241345 +Ref: 180241345 +Ref: wsgi werkzeug wsgi get_content_length242197 +Ref: 183242197 +Ref: wsgi werkzeug wsgi get_input_stream242602 +Ref: 184242602 +Ref: wsgi werkzeug wsgi get_current_url243610 +Ref: 185243610 +Ref: wsgi werkzeug wsgi get_query_string244588 +Ref: 187244588 +Ref: wsgi werkzeug wsgi get_script_name244996 +Ref: 188244996 +Ref: wsgi werkzeug wsgi get_path_info245586 +Ref: 189245586 +Ref: wsgi werkzeug wsgi pop_path_info246170 +Ref: 18a246170 +Ref: wsgi werkzeug wsgi peek_path_info247411 +Ref: 18b247411 +Ref: wsgi werkzeug wsgi extract_path_info248285 +Ref: 18c248285 +Ref: wsgi werkzeug wsgi host_is_trusted250231 +Ref: 181250231 +Ref: Environ Helpers-Footnote-1250708 +Ref: Environ Helpers-Footnote-2250768 +Ref: Environ Helpers-Footnote-3250828 +Ref: Environ Helpers-Footnote-4250889 +Ref: Environ Helpers-Footnote-5250951 +Ref: Environ Helpers-Footnote-6251013 +Ref: Environ Helpers-Footnote-7251075 +Ref: Environ Helpers-Footnote-8251137 +Ref: Environ Helpers-Footnote-9251199 +Ref: Environ Helpers-Footnote-10251259 +Ref: Environ Helpers-Footnote-11251320 +Ref: Environ Helpers-Footnote-12251381 +Ref: Environ Helpers-Footnote-13251442 +Ref: Environ Helpers-Footnote-14251503 +Ref: Environ Helpers-Footnote-15251564 +Ref: Environ Helpers-Footnote-16251625 +Ref: Environ Helpers-Footnote-17251686 +Ref: Environ Helpers-Footnote-18251747 +Ref: Environ Helpers-Footnote-19251808 +Ref: Environ Helpers-Footnote-20251869 +Ref: Environ Helpers-Footnote-21251930 +Ref: Environ Helpers-Footnote-22251991 +Ref: Environ Helpers-Footnote-23252052 +Ref: Environ Helpers-Footnote-24252113 +Ref: Environ Helpers-Footnote-25252174 +Ref: Environ Helpers-Footnote-26252235 +Ref: Environ Helpers-Footnote-27252296 +Ref: Environ Helpers-Footnote-28252357 +Ref: Environ Helpers-Footnote-29252420 +Ref: Environ Helpers-Footnote-30252481 +Ref: Environ Helpers-Footnote-31252542 +Ref: Environ Helpers-Footnote-32252603 +Node: Convenience Helpers252666 +Ref: wsgi convenience-helpers252796 +Ref: 18d252796 +Ref: wsgi werkzeug wsgi responder252849 +Ref: 18e252849 +Ref: wsgi werkzeug testapp test_app253322 +Ref: 18f253322 +Ref: Convenience Helpers-Footnote-1254060 +Node: Bytes Strings and Encodings254122 +Ref: wsgi bytes-strings-and-encodings254270 +Ref: 190254270 +Ref: Bytes Strings and Encodings-Footnote-1255500 +Node: Raw Request URI and Path Encoding255549 +Ref: wsgi raw-request-uri-and-path-encoding255669 +Ref: 192255669 +Ref: Raw Request URI and Path Encoding-Footnote-1256800 +Node: Filesystem Utilities256849 +Ref: filesystem doc256961 +Ref: 193256961 +Ref: filesystem filesystem-utilities256961 +Ref: 194256961 +Ref: filesystem module-werkzeug filesystem257055 +Ref: 3257055 +Ref: filesystem werkzeug filesystem BrokenFilesystemWarning257057 +Ref: 195257057 +Ref: filesystem werkzeug filesystem get_filesystem_encoding257221 +Ref: 196257221 +Ref: Filesystem Utilities-Footnote-1257876 +Node: HTTP Utilities257936 +Ref: http doc258051 +Ref: 198258051 +Ref: http http-utilities258051 +Ref: 199258051 +Ref: http module-werkzeug http258051 +Ref: 5258051 +Node: Datetime Functions258518 +Ref: http datetime-functions258615 +Ref: 19a258615 +Ref: http werkzeug http parse_date259354 +Ref: 19b259354 +Ref: http werkzeug http http_date260096 +Ref: 19c260096 +Ref: http werkzeug http cookie_date260793 +Ref: 19d260793 +Ref: Datetime Functions-Footnote-1261351 +Ref: Datetime Functions-Footnote-2261425 +Ref: Datetime Functions-Footnote-3261474 +Ref: Datetime Functions-Footnote-4261548 +Ref: Datetime Functions-Footnote-5261642 +Ref: Datetime Functions-Footnote-6261702 +Ref: Datetime Functions-Footnote-7261776 +Ref: Datetime Functions-Footnote-8261825 +Ref: Datetime Functions-Footnote-9261913 +Ref: Datetime Functions-Footnote-10261987 +Ref: Datetime Functions-Footnote-11262058 +Ref: Datetime Functions-Footnote-12262120 +Ref: Datetime Functions-Footnote-13262184 +Ref: Datetime Functions-Footnote-14262254 +Ref: Datetime Functions-Footnote-15262315 +Ref: Datetime Functions-Footnote-16262365 +Ref: Datetime Functions-Footnote-17262441 +Ref: Datetime Functions-Footnote-18262512 +Ref: Datetime Functions-Footnote-19262574 +Ref: Datetime Functions-Footnote-20262638 +Ref: Datetime Functions-Footnote-21262708 +Node: Header Parsing<2>262769 +Ref: http header-parsing262891 +Ref: 19e262891 +Ref: http werkzeug http parse_options_header263186 +Ref: 1a0263186 +Ref: http werkzeug http parse_set_header264166 +Ref: 1a2264166 +Ref: http werkzeug http parse_list_header265260 +Ref: 1a4265260 +Ref: http werkzeug http parse_dict_header266150 +Ref: 1a1266150 +Ref: http werkzeug http parse_accept_header267280 +Ref: 1a5267280 +Ref: http werkzeug http parse_cache_control_header268234 +Ref: 1a6268234 +Ref: http werkzeug http parse_authorization_header269363 +Ref: 1a7269363 +Ref: http werkzeug http parse_www_authenticate_header269910 +Ref: 1a8269910 +Ref: http werkzeug http parse_if_range_header270671 +Ref: 1a9270671 +Ref: http werkzeug http parse_range_header271092 +Ref: 1aa271092 +Ref: http werkzeug http parse_content_range_header271630 +Ref: 1ab271630 +Ref: Header Parsing<2>-Footnote-1272425 +Ref: Header Parsing<2>-Footnote-2272474 +Ref: Header Parsing<2>-Footnote-3272523 +Ref: Header Parsing<2>-Footnote-4272583 +Ref: Header Parsing<2>-Footnote-5272645 +Ref: Header Parsing<2>-Footnote-6272705 +Ref: Header Parsing<2>-Footnote-7272765 +Ref: Header Parsing<2>-Footnote-8272825 +Ref: Header Parsing<2>-Footnote-9272885 +Ref: Header Parsing<2>-Footnote-10272947 +Ref: Header Parsing<2>-Footnote-11273009 +Ref: Header Parsing<2>-Footnote-12273071 +Ref: Header Parsing<2>-Footnote-13273132 +Ref: Header Parsing<2>-Footnote-14273194 +Ref: Header Parsing<2>-Footnote-15273255 +Ref: Header Parsing<2>-Footnote-16273317 +Ref: Header Parsing<2>-Footnote-17273378 +Ref: Header Parsing<2>-Footnote-18273440 +Ref: Header Parsing<2>-Footnote-19273501 +Ref: Header Parsing<2>-Footnote-20273562 +Ref: Header Parsing<2>-Footnote-21273623 +Ref: Header Parsing<2>-Footnote-22273684 +Ref: Header Parsing<2>-Footnote-23273747 +Ref: Header Parsing<2>-Footnote-24273808 +Ref: Header Parsing<2>-Footnote-25273869 +Ref: Header Parsing<2>-Footnote-26273932 +Ref: Header Parsing<2>-Footnote-27273993 +Ref: Header Parsing<2>-Footnote-28274054 +Ref: Header Parsing<2>-Footnote-29274117 +Ref: Header Parsing<2>-Footnote-30274178 +Node: Header Utilities274241 +Ref: http header-utilities274352 +Ref: 1ac274352 +Ref: http werkzeug http is_entity_header274717 +Ref: 1ad274717 +Ref: http werkzeug http is_hop_by_hop_header275014 +Ref: 1ae275014 +Ref: http werkzeug http remove_entity_headers275358 +Ref: 1af275358 +Ref: http werkzeug http remove_hop_by_hop_headers276273 +Ref: 1b0276273 +Ref: http werkzeug http is_byte_range_valid276751 +Ref: 1b1276751 +Ref: http werkzeug http quote_header_value277165 +Ref: 1b2277165 +Ref: http werkzeug http unquote_header_value277693 +Ref: 1b3277693 +Ref: http werkzeug http dump_header278192 +Ref: 1a3278192 +Ref: Header Utilities-Footnote-1279188 +Ref: Header Utilities-Footnote-2279248 +Ref: Header Utilities-Footnote-3279310 +Ref: Header Utilities-Footnote-4279370 +Ref: Header Utilities-Footnote-5279432 +Ref: Header Utilities-Footnote-6279481 +Ref: Header Utilities-Footnote-7279541 +Ref: Header Utilities-Footnote-8279601 +Ref: Header Utilities-Footnote-9279661 +Ref: Header Utilities-Footnote-10279723 +Ref: Header Utilities-Footnote-11279784 +Ref: Header Utilities-Footnote-12279845 +Ref: Header Utilities-Footnote-13279908 +Ref: Header Utilities-Footnote-14279970 +Ref: Header Utilities-Footnote-15280032 +Ref: Header Utilities-Footnote-16280094 +Ref: Header Utilities-Footnote-17280157 +Ref: Header Utilities-Footnote-18280218 +Ref: Header Utilities-Footnote-19280280 +Ref: Header Utilities-Footnote-20280341 +Ref: Header Utilities-Footnote-21280404 +Ref: Header Utilities-Footnote-22280465 +Ref: Header Utilities-Footnote-23280526 +Ref: Header Utilities-Footnote-24280589 +Ref: Header Utilities-Footnote-25280650 +Ref: Header Utilities-Footnote-26280711 +Ref: Header Utilities-Footnote-27280772 +Ref: Header Utilities-Footnote-28280834 +Ref: Header Utilities-Footnote-29280895 +Ref: Header Utilities-Footnote-30280958 +Node: Cookies281019 +Ref: http cookies281141 +Ref: 1b4281141 +Ref: http werkzeug http parse_cookie281170 +Ref: 1b5281170 +Ref: http werkzeug http dump_cookie282452 +Ref: 1b6282452 +Ref: Cookies-Footnote-1285475 +Ref: Cookies-Footnote-2285535 +Ref: Cookies-Footnote-3285597 +Ref: Cookies-Footnote-4285657 +Ref: Cookies-Footnote-5285717 +Ref: Cookies-Footnote-6285777 +Ref: Cookies-Footnote-7285837 +Ref: Cookies-Footnote-8285886 +Ref: Cookies-Footnote-9285962 +Ref: Cookies-Footnote-10286023 +Ref: Cookies-Footnote-11286084 +Ref: Cookies-Footnote-12286160 +Ref: Cookies-Footnote-13286222 +Ref: Cookies-Footnote-14286286 +Ref: Cookies-Footnote-15286347 +Ref: Cookies-Footnote-16286408 +Ref: Cookies-Footnote-17286471 +Ref: Cookies-Footnote-18286534 +Ref: Cookies-Footnote-19286595 +Ref: Cookies-Footnote-20286658 +Ref: Cookies-Footnote-21286720 +Ref: Cookies-Footnote-22286769 +Ref: Cookies-Footnote-23286830 +Ref: Cookies-Footnote-24286891 +Ref: Cookies-Footnote-25286954 +Ref: Cookies-Footnote-26287015 +Node: Conditional Response Helpers287076 +Ref: http conditional-response-helpers287191 +Ref: 1b7287191 +Ref: http werkzeug http parse_etags287330 +Ref: 1b8287330 +Ref: http werkzeug http quote_etag287613 +Ref: 1b9287613 +Ref: http werkzeug http unquote_etag287869 +Ref: 1ba287869 +Ref: http werkzeug http generate_etag288298 +Ref: 1bb288298 +Ref: http werkzeug http is_resource_modified288554 +Ref: 1bc288554 +Ref: Conditional Response Helpers-Footnote-1289883 +Ref: Conditional Response Helpers-Footnote-2289943 +Ref: Conditional Response Helpers-Footnote-3290003 +Ref: Conditional Response Helpers-Footnote-4290065 +Ref: Conditional Response Helpers-Footnote-5290125 +Ref: Conditional Response Helpers-Footnote-6290185 +Ref: Conditional Response Helpers-Footnote-7290245 +Ref: Conditional Response Helpers-Footnote-8290307 +Ref: Conditional Response Helpers-Footnote-9290369 +Ref: Conditional Response Helpers-Footnote-10290431 +Ref: Conditional Response Helpers-Footnote-11290494 +Ref: Conditional Response Helpers-Footnote-12290555 +Ref: Conditional Response Helpers-Footnote-13290616 +Ref: Conditional Response Helpers-Footnote-14290679 +Ref: Conditional Response Helpers-Footnote-15290755 +Ref: Conditional Response Helpers-Footnote-16290816 +Ref: Conditional Response Helpers-Footnote-17290879 +Node: Constants290942 +Ref: http constants291067 +Ref: 1bd291067 +Ref: http werkzeug http HTTP_STATUS_CODES291100 +Ref: 1be291100 +Node: Form Data Parsing291335 +Ref: http form-data-parsing291423 +Ref: 1bf291423 +Ref: http module-werkzeug formparser291423 +Ref: 4291423 +Ref: http werkzeug formparser FormDataParser292785 +Ref: bf292785 +Ref: http werkzeug formparser parse_form_data294650 +Ref: 1c0294650 +Ref: Form Data Parsing-Footnote-1297264 +Ref: Form Data Parsing-Footnote-2297324 +Ref: Form Data Parsing-Footnote-3297384 +Ref: Form Data Parsing-Footnote-4297445 +Ref: Form Data Parsing-Footnote-5297506 +Ref: Form Data Parsing-Footnote-6297568 +Ref: Form Data Parsing-Footnote-7297630 +Ref: Form Data Parsing-Footnote-8297690 +Ref: Form Data Parsing-Footnote-9297750 +Ref: Form Data Parsing-Footnote-10297811 +Ref: Form Data Parsing-Footnote-11297873 +Node: Data Structures297936 +Ref: datastructures doc298040 +Ref: 1c1298040 +Ref: datastructures data-structures298040 +Ref: 1c2298040 +Ref: datastructures module-werkzeug datastructures298040 +Ref: 0298040 +Node: General Purpose298354 +Ref: datastructures general-purpose298444 +Ref: 1c3298444 +Ref: datastructures werkzeug datastructures TypeConversionDict298726 +Ref: 1c4298726 +Ref: datastructures werkzeug datastructures TypeConversionDict get299031 +Ref: 1c5299031 +Ref: datastructures werkzeug datastructures ImmutableTypeConversionDict300071 +Ref: 1c6300071 +Ref: datastructures werkzeug datastructures ImmutableTypeConversionDict copy300252 +Ref: 1c7300252 +Ref: datastructures werkzeug datastructures MultiDict300520 +Ref: 83300520 +Ref: datastructures werkzeug datastructures MultiDict add302211 +Ref: 1c8302211 +Ref: datastructures werkzeug datastructures MultiDict clear302445 +Ref: 1c9302445 +Ref: datastructures werkzeug datastructures MultiDict copy302506 +Ref: 1ca302506 +Ref: datastructures werkzeug datastructures MultiDict deepcopy302581 +Ref: 1cb302581 +Ref: datastructures werkzeug datastructures MultiDict fromkeys302666 +Ref: 1cc302666 +Ref: datastructures werkzeug datastructures MultiDict get302803 +Ref: 1cd302803 +Ref: datastructures werkzeug datastructures MultiDict getlist303843 +Ref: 1ce303843 +Ref: datastructures werkzeug datastructures MultiDict items304542 +Ref: 1cf304542 +Ref: datastructures werkzeug datastructures MultiDict keys304858 +Ref: 1d0304858 +Ref: datastructures werkzeug datastructures MultiDict lists304949 +Ref: 1d1304949 +Ref: datastructures werkzeug datastructures MultiDict listvalues305109 +Ref: 1d2305109 +Ref: datastructures werkzeug datastructures MultiDict pop305444 +Ref: 1d3305444 +Ref: datastructures werkzeug datastructures MultiDict popitem305979 +Ref: 1d4305979 +Ref: datastructures werkzeug datastructures MultiDict popitemlist306046 +Ref: 1d5306046 +Ref: datastructures werkzeug datastructures MultiDict poplist306135 +Ref: 1d6306135 +Ref: datastructures werkzeug datastructures MultiDict setdefault306409 +Ref: 1d7306409 +Ref: datastructures werkzeug datastructures MultiDict setlist306853 +Ref: 1d8306853 +Ref: datastructures werkzeug datastructures MultiDict setlistdefault307493 +Ref: 1d9307493 +Ref: datastructures werkzeug datastructures MultiDict to_dict308268 +Ref: 1da308268 +Ref: datastructures werkzeug datastructures MultiDict update308762 +Ref: 1db308762 +Ref: datastructures werkzeug datastructures MultiDict values309391 +Ref: 1dc309391 +Ref: datastructures werkzeug datastructures OrderedMultiDict309508 +Ref: 1dd309508 +Ref: datastructures werkzeug datastructures ImmutableMultiDict310175 +Ref: a8310175 +Ref: datastructures werkzeug datastructures ImmutableMultiDict copy310311 +Ref: 1de310311 +Ref: datastructures werkzeug datastructures ImmutableOrderedMultiDict310580 +Ref: 1df310580 +Ref: datastructures werkzeug datastructures ImmutableOrderedMultiDict copy310741 +Ref: 1e0310741 +Ref: datastructures werkzeug datastructures CombinedMultiDict311010 +Ref: f9311010 +Ref: datastructures werkzeug datastructures ImmutableDict311968 +Ref: 1e1311968 +Ref: datastructures werkzeug datastructures ImmutableDict copy312073 +Ref: 1e2312073 +Ref: datastructures werkzeug datastructures ImmutableList312342 +Ref: d9312342 +Ref: datastructures werkzeug datastructures FileMultiDict312480 +Ref: 84312480 +Ref: datastructures werkzeug datastructures FileMultiDict add_file312744 +Ref: 1e3312744 +Ref: General Purpose-Footnote-1313258 +Ref: General Purpose-Footnote-2313327 +Ref: General Purpose-Footnote-3313396 +Ref: General Purpose-Footnote-4313458 +Ref: General Purpose-Footnote-5313527 +Ref: General Purpose-Footnote-6313596 +Ref: General Purpose-Footnote-7313665 +Ref: General Purpose-Footnote-8313726 +Ref: General Purpose-Footnote-9313787 +Ref: General Purpose-Footnote-10313848 +Ref: General Purpose-Footnote-11313911 +Ref: General Purpose-Footnote-12313974 +Ref: General Purpose-Footnote-13314036 +Ref: General Purpose-Footnote-14314099 +Node: HTTP Related314161 +Ref: datastructures http-datastructures314266 +Ref: 19f314266 +Ref: datastructures http-related314266 +Ref: 1e4314266 +Ref: datastructures werkzeug datastructures Headers314305 +Ref: 71314305 +Ref: datastructures werkzeug datastructures Headers add315898 +Ref: 1e5315898 +Ref: datastructures werkzeug datastructures Headers add_header316496 +Ref: 1e6316496 +Ref: datastructures werkzeug datastructures Headers clear316708 +Ref: 1e7316708 +Ref: datastructures werkzeug datastructures Headers extend316766 +Ref: 1e8316766 +Ref: datastructures werkzeug datastructures Headers get317309 +Ref: 1ea317309 +Ref: datastructures werkzeug datastructures Headers get_all318439 +Ref: 1eb318439 +Ref: datastructures werkzeug datastructures Headers getlist318626 +Ref: 1ec318626 +Ref: datastructures werkzeug datastructures Headers has_key319502 +Ref: 1ed319502 +Ref: datastructures werkzeug datastructures Headers pop319649 +Ref: 1ee319649 +Ref: datastructures werkzeug datastructures Headers popitem320037 +Ref: 1ef320037 +Ref: datastructures werkzeug datastructures Headers remove320133 +Ref: 1f0320133 +Ref: datastructures werkzeug datastructures Headers set320250 +Ref: 1f1320250 +Ref: datastructures werkzeug datastructures Headers setdefault320931 +Ref: 1f2320931 +Ref: datastructures werkzeug datastructures Headers setlist321328 +Ref: 1f3321328 +Ref: datastructures werkzeug datastructures Headers setlistdefault321620 +Ref: 1f4321620 +Ref: datastructures werkzeug datastructures Headers to_wsgi_list322200 +Ref: 1f5322200 +Ref: datastructures werkzeug datastructures Headers update322322 +Ref: 1e9322322 +Ref: datastructures werkzeug datastructures EnvironHeaders322771 +Ref: 191322771 +Ref: datastructures werkzeug datastructures HeaderSet323244 +Ref: e7323244 +Ref: datastructures werkzeug datastructures HeaderSet add323751 +Ref: 1f6323751 +Ref: datastructures werkzeug datastructures HeaderSet as_set323822 +Ref: 1f7323822 +Ref: datastructures werkzeug datastructures HeaderSet clear324245 +Ref: 1f8324245 +Ref: datastructures werkzeug datastructures HeaderSet discard324298 +Ref: 1f9324298 +Ref: datastructures werkzeug datastructures HeaderSet find324459 +Ref: 1fb324459 +Ref: datastructures werkzeug datastructures HeaderSet index324650 +Ref: 1fc324650 +Ref: datastructures werkzeug datastructures HeaderSet remove324843 +Ref: 1fa324843 +Ref: datastructures werkzeug datastructures HeaderSet to_header325201 +Ref: 1fd325201 +Ref: datastructures werkzeug datastructures HeaderSet update325294 +Ref: 1fe325294 +Ref: datastructures werkzeug datastructures Accept325494 +Ref: 9e325494 +Ref: datastructures werkzeug datastructures Accept best326569 +Ref: 1ff326569 +Ref: datastructures werkzeug datastructures Accept best_match326630 +Ref: 200326630 +Ref: datastructures werkzeug datastructures Accept find327086 +Ref: 201327086 +Ref: datastructures werkzeug datastructures Accept index327232 +Ref: 202327232 +Ref: datastructures werkzeug datastructures Accept quality327512 +Ref: 203327512 +Ref: datastructures werkzeug datastructures Accept to_header327752 +Ref: 204327752 +Ref: datastructures werkzeug datastructures Accept values327845 +Ref: 205327845 +Ref: datastructures werkzeug datastructures MIMEAccept327909 +Ref: a2327909 +Ref: datastructures werkzeug datastructures MIMEAccept accept_html328055 +Ref: 206328055 +Ref: datastructures werkzeug datastructures MIMEAccept accept_json328132 +Ref: 207328132 +Ref: datastructures werkzeug datastructures MIMEAccept accept_xhtml328209 +Ref: 208328209 +Ref: datastructures werkzeug datastructures CharsetAccept328288 +Ref: 9c328288 +Ref: datastructures werkzeug datastructures LanguageAccept328416 +Ref: a0328416 +Ref: datastructures werkzeug datastructures RequestCacheControl328550 +Ref: ae328550 +Ref: datastructures werkzeug datastructures RequestCacheControl no_cache329168 +Ref: 209329168 +Ref: datastructures werkzeug datastructures RequestCacheControl no_store329237 +Ref: 20a329237 +Ref: datastructures werkzeug datastructures RequestCacheControl max_age329306 +Ref: 20b329306 +Ref: datastructures werkzeug datastructures RequestCacheControl no_transform329373 +Ref: 20c329373 +Ref: datastructures werkzeug datastructures RequestCacheControl max_stale329450 +Ref: 20d329450 +Ref: datastructures werkzeug datastructures RequestCacheControl min_fresh329520 +Ref: 20e329520 +Ref: datastructures werkzeug datastructures RequestCacheControl only_if_cached329590 +Ref: 20f329590 +Ref: datastructures werkzeug datastructures ResponseCacheControl329670 +Ref: 10b329670 +Ref: datastructures werkzeug datastructures ResponseCacheControl no_cache330326 +Ref: 210330326 +Ref: datastructures werkzeug datastructures ResponseCacheControl no_store330395 +Ref: 211330395 +Ref: datastructures werkzeug datastructures ResponseCacheControl max_age330464 +Ref: 212330464 +Ref: datastructures werkzeug datastructures ResponseCacheControl no_transform330531 +Ref: 213330531 +Ref: datastructures werkzeug datastructures ResponseCacheControl immutable330608 +Ref: 214330608 +Ref: datastructures werkzeug datastructures ResponseCacheControl must_revalidate330678 +Ref: 215330678 +Ref: datastructures werkzeug datastructures ResponseCacheControl private330760 +Ref: 216330760 +Ref: datastructures werkzeug datastructures ResponseCacheControl proxy_revalidate330826 +Ref: 217330826 +Ref: datastructures werkzeug datastructures ResponseCacheControl public330910 +Ref: 218330910 +Ref: datastructures werkzeug datastructures ResponseCacheControl s_maxage330974 +Ref: 219330974 +Ref: datastructures werkzeug datastructures ETags331042 +Ref: ca331042 +Ref: datastructures werkzeug datastructures ETags as_set331239 +Ref: 21a331239 +Ref: datastructures werkzeug datastructures ETags contains331414 +Ref: 21b331414 +Ref: datastructures werkzeug datastructures ETags contains_raw331576 +Ref: 21c331576 +Ref: datastructures werkzeug datastructures ETags contains_weak331803 +Ref: 21d331803 +Ref: datastructures werkzeug datastructures ETags is_strong331931 +Ref: 21e331931 +Ref: datastructures werkzeug datastructures ETags is_weak332005 +Ref: 21f332005 +Ref: datastructures werkzeug datastructures ETags to_header332075 +Ref: 220332075 +Ref: datastructures werkzeug datastructures Authorization332166 +Ref: 7b332166 +Ref: datastructures werkzeug datastructures Authorization cnonce332529 +Ref: 221332529 +Ref: datastructures werkzeug datastructures Authorization nc332747 +Ref: 222332747 +Ref: datastructures werkzeug datastructures Authorization nonce332897 +Ref: 223332897 +Ref: datastructures werkzeug datastructures Authorization opaque333093 +Ref: 224333093 +Ref: datastructures werkzeug datastructures Authorization password333305 +Ref: 225333305 +Ref: datastructures werkzeug datastructures Authorization qop333458 +Ref: 226333458 +Ref: datastructures werkzeug datastructures Authorization realm333719 +Ref: 227333719 +Ref: datastructures werkzeug datastructures Authorization response333813 +Ref: 228333813 +Ref: datastructures werkzeug datastructures Authorization to_header333996 +Ref: 229333996 +Ref: datastructures werkzeug datastructures Authorization uri334199 +Ref: 22a334199 +Ref: datastructures werkzeug datastructures Authorization username334402 +Ref: 22b334402 +Ref: datastructures werkzeug datastructures WWWAuthenticate334536 +Ref: 142334536 +Ref: datastructures werkzeug datastructures WWWAuthenticate algorithm334708 +Ref: 22c334708 +Ref: datastructures werkzeug datastructures WWWAuthenticate auth_property335052 +Ref: 22d335052 +Ref: datastructures werkzeug datastructures WWWAuthenticate domain335525 +Ref: 22f335525 +Ref: datastructures werkzeug datastructures WWWAuthenticate nonce335734 +Ref: 230335734 +Ref: datastructures werkzeug datastructures WWWAuthenticate opaque335958 +Ref: 231335958 +Ref: datastructures werkzeug datastructures WWWAuthenticate qop336285 +Ref: 232336285 +Ref: datastructures werkzeug datastructures WWWAuthenticate realm336396 +Ref: 22e336396 +Ref: datastructures werkzeug datastructures WWWAuthenticate set_basic336723 +Ref: 233336723 +Ref: datastructures werkzeug datastructures WWWAuthenticate set_digest336839 +Ref: 234336839 +Ref: datastructures werkzeug datastructures WWWAuthenticate stale337010 +Ref: 235337010 +Ref: datastructures werkzeug datastructures WWWAuthenticate to_header337166 +Ref: 236337166 +Ref: datastructures werkzeug datastructures WWWAuthenticate type337266 +Ref: 237337266 +Ref: datastructures werkzeug datastructures IfRange337400 +Ref: ce337400 +Ref: datastructures werkzeug datastructures IfRange date337663 +Ref: 238337663 +Ref: datastructures werkzeug datastructures IfRange etag337741 +Ref: 239337741 +Ref: datastructures werkzeug datastructures IfRange to_header337903 +Ref: 23a337903 +Ref: datastructures werkzeug datastructures Range337991 +Ref: ea337991 +Ref: datastructures werkzeug datastructures Range make_content_range338403 +Ref: 23b338403 +Ref: datastructures werkzeug datastructures Range range_for_length338561 +Ref: 23c338561 +Ref: datastructures werkzeug datastructures Range ranges338801 +Ref: 23d338801 +Ref: datastructures werkzeug datastructures Range to_content_range_header338947 +Ref: 23e338947 +Ref: datastructures werkzeug datastructures Range to_header339099 +Ref: 23f339099 +Ref: datastructures werkzeug datastructures Range units339187 +Ref: 240339187 +Ref: datastructures werkzeug datastructures ContentRange339272 +Ref: 115339272 +Ref: datastructures werkzeug datastructures ContentRange length339450 +Ref: 241339450 +Ref: datastructures werkzeug datastructures ContentRange set339527 +Ref: 242339527 +Ref: datastructures werkzeug datastructures ContentRange start339638 +Ref: 243339638 +Ref: datastructures werkzeug datastructures ContentRange stop339719 +Ref: 244339719 +Ref: datastructures werkzeug datastructures ContentRange units339877 +Ref: 245339877 +Ref: datastructures werkzeug datastructures ContentRange unset339952 +Ref: 246339952 +Ref: HTTP Related-Footnote-1340123 +Ref: HTTP Related-Footnote-2340190 +Ref: HTTP Related-Footnote-3340270 +Ref: HTTP Related-Footnote-4340340 +Ref: HTTP Related-Footnote-5340407 +Ref: HTTP Related-Footnote-6340477 +Ref: HTTP Related-Footnote-7340547 +Ref: HTTP Related-Footnote-8340638 +Ref: HTTP Related-Footnote-9340699 +Ref: HTTP Related-Footnote-10340768 +Ref: HTTP Related-Footnote-11340838 +Ref: HTTP Related-Footnote-12340909 +Ref: HTTP Related-Footnote-13340998 +Ref: HTTP Related-Footnote-14341068 +Ref: HTTP Related-Footnote-15341130 +Ref: HTTP Related-Footnote-16341192 +Ref: HTTP Related-Footnote-17341262 +Ref: HTTP Related-Footnote-18341330 +Ref: HTTP Related-Footnote-19341400 +Ref: HTTP Related-Footnote-20341468 +Ref: HTTP Related-Footnote-21341538 +Ref: HTTP Related-Footnote-22341608 +Node: Others341678 +Ref: datastructures others341759 +Ref: 247341759 +Ref: datastructures werkzeug datastructures FileStorage341786 +Ref: bb341786 +Ref: datastructures werkzeug datastructures FileStorage stream342283 +Ref: 248342283 +Ref: datastructures werkzeug datastructures FileStorage filename342420 +Ref: 249342420 +Ref: datastructures werkzeug datastructures FileStorage name342501 +Ref: 24a342501 +Ref: datastructures werkzeug datastructures FileStorage headers342566 +Ref: 24b342566 +Ref: datastructures werkzeug datastructures FileStorage close342853 +Ref: 24c342853 +Ref: datastructures werkzeug datastructures FileStorage content_length342930 +Ref: 24d342930 +Ref: datastructures werkzeug datastructures FileStorage content_type343038 +Ref: 24e343038 +Ref: datastructures werkzeug datastructures FileStorage mimetype343142 +Ref: 24f343142 +Ref: datastructures werkzeug datastructures FileStorage mimetype_params343460 +Ref: 250343460 +Ref: datastructures werkzeug datastructures FileStorage save343706 +Ref: bc343706 +Ref: Others-Footnote-1344461 +Ref: Others-Footnote-2344523 +Ref: Others-Footnote-3344596 +Node: Utilities344666 +Ref: utils doc344770 +Ref: 251344770 +Ref: utils utilities344770 +Ref: 252344770 +Node: HTML Helpers345028 +Ref: utils html-helpers345112 +Ref: 253345112 +Ref: utils module-werkzeug utils345112 +Ref: 15345112 +Ref: utils werkzeug utils HTMLBuilder345151 +Ref: 254345151 +Ref: utils werkzeug utils escape346335 +Ref: 255346335 +Ref: utils werkzeug utils unescape346681 +Ref: 256346681 +Ref: HTML Helpers-Footnote-1347053 +Ref: HTML Helpers-Footnote-2347113 +Ref: HTML Helpers-Footnote-3347173 +Node: General Helpers347233 +Ref: utils general-helpers347337 +Ref: 257347337 +Ref: utils werkzeug utils cached_property347382 +Ref: 258347382 +Ref: utils werkzeug utils invalidate_cached_property348455 +Ref: 259348455 +Ref: utils werkzeug utils environ_property349375 +Ref: 25a349375 +Ref: utils werkzeug utils header_property350313 +Ref: 25b350313 +Ref: utils werkzeug utils redirect350496 +Ref: 25c350496 +Ref: utils werkzeug utils append_slash_redirect351574 +Ref: 25d351574 +Ref: utils werkzeug utils send_file352055 +Ref: fb352055 +Ref: utils werkzeug utils import_string356980 +Ref: 25e356980 +Ref: utils werkzeug utils find_modules357752 +Ref: 25f357752 +Ref: utils werkzeug utils validate_arguments358721 +Ref: 260358721 +Ref: utils werkzeug utils secure_filename360791 +Ref: 261360791 +Ref: utils werkzeug utils bind_arguments361836 +Ref: 262361836 +Ref: General Helpers-Footnote-1362681 +Ref: General Helpers-Footnote-2362741 +Ref: General Helpers-Footnote-3362801 +Ref: General Helpers-Footnote-4362863 +Ref: General Helpers-Footnote-5362927 +Ref: General Helpers-Footnote-6362987 +Ref: General Helpers-Footnote-7363049 +Ref: General Helpers-Footnote-8363118 +Ref: General Helpers-Footnote-9363186 +Ref: General Helpers-Footnote-10363246 +Ref: General Helpers-Footnote-11363308 +Ref: General Helpers-Footnote-12363370 +Ref: General Helpers-Footnote-13363432 +Ref: General Helpers-Footnote-14363495 +Ref: General Helpers-Footnote-15363556 +Ref: General Helpers-Footnote-16363619 +Ref: General Helpers-Footnote-17363680 +Ref: General Helpers-Footnote-18363743 +Ref: General Helpers-Footnote-19363804 +Ref: General Helpers-Footnote-20363867 +Ref: General Helpers-Footnote-21363930 +Ref: General Helpers-Footnote-22363991 +Ref: General Helpers-Footnote-23364067 +Ref: General Helpers-Footnote-24364129 +Ref: General Helpers-Footnote-25364193 +Ref: General Helpers-Footnote-26364255 +Ref: General Helpers-Footnote-27364316 +Ref: General Helpers-Footnote-28364378 +Ref: General Helpers-Footnote-29364441 +Ref: General Helpers-Footnote-30364504 +Ref: General Helpers-Footnote-31364565 +Ref: General Helpers-Footnote-32364626 +Ref: General Helpers-Footnote-33364689 +Ref: General Helpers-Footnote-34364750 +Ref: General Helpers-Footnote-35364813 +Ref: General Helpers-Footnote-36364876 +Ref: General Helpers-Footnote-37364937 +Ref: General Helpers-Footnote-38365011 +Ref: General Helpers-Footnote-39365080 +Ref: General Helpers-Footnote-40365141 +Ref: General Helpers-Footnote-41365202 +Node: URL Helpers365264 +Ref: utils url-helpers365370 +Ref: 263365370 +Node: User Agent API365448 +Ref: utils module-werkzeug user_agent365567 +Ref: 13365567 +Ref: utils user-agent-api365567 +Ref: 265365567 +Ref: utils werkzeug user_agent UserAgent365610 +Ref: f6365610 +Ref: utils werkzeug user_agent UserAgent platform366215 +Ref: 267366215 +Ref: utils werkzeug user_agent UserAgent browser366333 +Ref: 268366333 +Ref: utils werkzeug user_agent UserAgent version366455 +Ref: 269366455 +Ref: utils werkzeug user_agent UserAgent language366580 +Ref: 26a366580 +Ref: utils werkzeug user_agent UserAgent string366707 +Ref: 266366707 +Ref: utils werkzeug user_agent UserAgent to_header366781 +Ref: 26b366781 +Ref: User Agent API-Footnote-1366918 +Ref: User Agent API-Footnote-2366978 +Ref: User Agent API-Footnote-3367040 +Ref: User Agent API-Footnote-4367100 +Ref: User Agent API-Footnote-5367160 +Ref: User Agent API-Footnote-6367220 +Ref: User Agent API-Footnote-7367280 +Ref: User Agent API-Footnote-8367340 +Node: UserAgent Parsing deprecated367400 +Ref: utils module-werkzeug useragents367524 +Ref: 14367524 +Ref: utils useragent-parsing-deprecated367524 +Ref: 26c367524 +Ref: utils werkzeug useragents UserAgent367761 +Ref: 26d367761 +Ref: utils werkzeug useragents UserAgent to_header368471 +Ref: 26e368471 +Ref: UserAgent Parsing deprecated-Footnote-1368608 +Ref: UserAgent Parsing deprecated-Footnote-2368668 +Ref: UserAgent Parsing deprecated-Footnote-3368730 +Node: Security Helpers368790 +Ref: utils module-werkzeug security368907 +Ref: f368907 +Ref: utils security-helpers368907 +Ref: 26f368907 +Ref: utils werkzeug security generate_password_hash368977 +Ref: 270368977 +Ref: utils werkzeug security check_password_hash370226 +Ref: 271370226 +Ref: utils werkzeug security safe_str_cmp370861 +Ref: 272370861 +Ref: utils werkzeug security safe_join371407 +Ref: 273371407 +Ref: utils werkzeug security pbkdf2_hex371884 +Ref: 274371884 +Ref: utils werkzeug security pbkdf2_bin372998 +Ref: 275372998 +Ref: Security Helpers-Footnote-1374371 +Ref: Security Helpers-Footnote-2374431 +Ref: Security Helpers-Footnote-3374491 +Ref: Security Helpers-Footnote-4374552 +Ref: Security Helpers-Footnote-5374612 +Ref: Security Helpers-Footnote-6374672 +Ref: Security Helpers-Footnote-7374732 +Ref: Security Helpers-Footnote-8374794 +Ref: Security Helpers-Footnote-9374866 +Ref: Security Helpers-Footnote-10374926 +Ref: Security Helpers-Footnote-11374987 +Ref: Security Helpers-Footnote-12375050 +Ref: Security Helpers-Footnote-13375111 +Ref: Security Helpers-Footnote-14375172 +Ref: Security Helpers-Footnote-15375233 +Ref: Security Helpers-Footnote-16375294 +Ref: Security Helpers-Footnote-17375357 +Ref: Security Helpers-Footnote-18375418 +Ref: Security Helpers-Footnote-19375481 +Ref: Security Helpers-Footnote-20375543 +Ref: Security Helpers-Footnote-21375605 +Ref: Security Helpers-Footnote-22375666 +Ref: Security Helpers-Footnote-23375727 +Ref: Security Helpers-Footnote-24375804 +Ref: Security Helpers-Footnote-25375865 +Ref: Security Helpers-Footnote-26375928 +Ref: Security Helpers-Footnote-27375989 +Ref: Security Helpers-Footnote-28376052 +Ref: Security Helpers-Footnote-29376114 +Ref: Security Helpers-Footnote-30376176 +Ref: Security Helpers-Footnote-31376237 +Ref: Security Helpers-Footnote-32376300 +Node: Logging376377 +Ref: utils logging376457 +Ref: 276376457 +Ref: Logging-Footnote-1376813 +Ref: Logging-Footnote-2376883 +Node: URL Helpers<2>376970 +Ref: urls doc377073 +Ref: 264377073 +Ref: urls module-werkzeug urls377073 +Ref: 12377073 +Ref: urls url-helpers377073 +Ref: 277377073 +Ref: urls werkzeug urls BaseURL377231 +Ref: 278377231 +Ref: urls werkzeug urls BaseURL ascii_host377652 +Ref: 27b377652 +Ref: urls werkzeug urls BaseURL auth378011 +Ref: 27d378011 +Ref: urls werkzeug urls BaseURL decode_netloc378146 +Ref: 27e378146 +Ref: urls werkzeug urls BaseURL decode_query378263 +Ref: 27f378263 +Ref: urls werkzeug urls BaseURL encode_netloc378724 +Ref: 281378724 +Ref: urls werkzeug urls BaseURL get_file_location378858 +Ref: 282378858 +Ref: urls werkzeug urls BaseURL host379859 +Ref: 27c379859 +Ref: urls werkzeug urls BaseURL join380098 +Ref: 283380098 +Ref: urls werkzeug urls BaseURL password380492 +Ref: 285380492 +Ref: urls werkzeug urls BaseURL port380680 +Ref: 286380680 +Ref: urls werkzeug urls BaseURL raw_password380858 +Ref: 287380858 +Ref: urls werkzeug urls BaseURL raw_username381052 +Ref: 288381052 +Ref: urls werkzeug urls BaseURL replace381246 +Ref: 28a381246 +Ref: urls werkzeug urls BaseURL to_iri_tuple381553 +Ref: 28b381553 +Ref: urls werkzeug urls BaseURL to_uri_tuple382008 +Ref: 28d382008 +Ref: urls werkzeug urls BaseURL to_url382420 +Ref: 28e382420 +Ref: urls werkzeug urls BaseURL username382680 +Ref: 289382680 +Ref: urls werkzeug urls BytesURL382868 +Ref: 27a382868 +Ref: urls werkzeug urls BytesURL decode383284 +Ref: 290383284 +Ref: urls werkzeug urls BytesURL encode_netloc383646 +Ref: 291383646 +Ref: urls werkzeug urls Href383766 +Ref: 292383766 +Ref: urls werkzeug urls URL385650 +Ref: 279385650 +Ref: urls werkzeug urls URL encode386156 +Ref: 293386156 +Ref: urls werkzeug urls iri_to_uri386521 +Ref: 186386521 +Ref: urls werkzeug urls uri_to_iri388513 +Ref: 28c388513 +Ref: urls werkzeug urls url_decode389629 +Ref: 280389629 +Ref: urls werkzeug urls url_decode_stream390997 +Ref: 294390997 +Ref: urls werkzeug urls url_encode392742 +Ref: 295392742 +Ref: urls werkzeug urls url_encode_stream394189 +Ref: 296394189 +Ref: urls werkzeug urls url_fix395852 +Ref: 297395852 +Ref: urls werkzeug urls url_join396539 +Ref: 284396539 +Ref: urls werkzeug urls url_parse397287 +Ref: 298397287 +Ref: urls werkzeug urls url_quote398094 +Ref: 299398094 +Ref: urls werkzeug urls url_quote_plus398873 +Ref: 29a398873 +Ref: urls werkzeug urls url_unparse399388 +Ref: 28f399388 +Ref: urls werkzeug urls url_unquote399844 +Ref: 29b399844 +Ref: urls werkzeug urls url_unquote_plus400526 +Ref: 29c400526 +Ref: URL Helpers<2>-Footnote-1401299 +Ref: URL Helpers<2>-Footnote-2401380 +Ref: URL Helpers<2>-Footnote-3401440 +Ref: URL Helpers<2>-Footnote-4401500 +Ref: URL Helpers<2>-Footnote-5401560 +Ref: URL Helpers<2>-Footnote-6401620 +Ref: URL Helpers<2>-Footnote-7401680 +Ref: URL Helpers<2>-Footnote-8401740 +Ref: URL Helpers<2>-Footnote-9401800 +Ref: URL Helpers<2>-Footnote-10401860 +Ref: URL Helpers<2>-Footnote-11401921 +Ref: URL Helpers<2>-Footnote-12401982 +Ref: URL Helpers<2>-Footnote-13402043 +Ref: URL Helpers<2>-Footnote-14402104 +Ref: URL Helpers<2>-Footnote-15402165 +Ref: URL Helpers<2>-Footnote-16402226 +Ref: URL Helpers<2>-Footnote-17402287 +Ref: URL Helpers<2>-Footnote-18402348 +Ref: URL Helpers<2>-Footnote-19402410 +Ref: URL Helpers<2>-Footnote-20402471 +Ref: URL Helpers<2>-Footnote-21402532 +Ref: URL Helpers<2>-Footnote-22402593 +Ref: URL Helpers<2>-Footnote-23402654 +Ref: URL Helpers<2>-Footnote-24402715 +Ref: URL Helpers<2>-Footnote-25402776 +Ref: URL Helpers<2>-Footnote-26402837 +Ref: URL Helpers<2>-Footnote-27402898 +Ref: URL Helpers<2>-Footnote-28402959 +Ref: URL Helpers<2>-Footnote-29403020 +Ref: URL Helpers<2>-Footnote-30403081 +Ref: URL Helpers<2>-Footnote-31403144 +Ref: URL Helpers<2>-Footnote-32403206 +Ref: URL Helpers<2>-Footnote-33403267 +Ref: URL Helpers<2>-Footnote-34403328 +Ref: URL Helpers<2>-Footnote-35403389 +Ref: URL Helpers<2>-Footnote-36403450 +Ref: URL Helpers<2>-Footnote-37403511 +Ref: URL Helpers<2>-Footnote-38403572 +Ref: URL Helpers<2>-Footnote-39403633 +Ref: URL Helpers<2>-Footnote-40403694 +Ref: URL Helpers<2>-Footnote-41403755 +Ref: URL Helpers<2>-Footnote-42403816 +Ref: URL Helpers<2>-Footnote-43403877 +Ref: URL Helpers<2>-Footnote-44403938 +Ref: URL Helpers<2>-Footnote-45403999 +Ref: URL Helpers<2>-Footnote-46404060 +Ref: URL Helpers<2>-Footnote-47404121 +Ref: URL Helpers<2>-Footnote-48404184 +Ref: URL Helpers<2>-Footnote-49404245 +Ref: URL Helpers<2>-Footnote-50404306 +Ref: URL Helpers<2>-Footnote-51404367 +Ref: URL Helpers<2>-Footnote-52404428 +Ref: URL Helpers<2>-Footnote-53404489 +Ref: URL Helpers<2>-Footnote-54404550 +Ref: URL Helpers<2>-Footnote-55404611 +Ref: URL Helpers<2>-Footnote-56404672 +Ref: URL Helpers<2>-Footnote-57404733 +Ref: URL Helpers<2>-Footnote-58404794 +Ref: URL Helpers<2>-Footnote-59404855 +Ref: URL Helpers<2>-Footnote-60404918 +Ref: URL Helpers<2>-Footnote-61404979 +Ref: URL Helpers<2>-Footnote-62405040 +Ref: URL Helpers<2>-Footnote-63405103 +Ref: URL Helpers<2>-Footnote-64405164 +Ref: URL Helpers<2>-Footnote-65405225 +Ref: URL Helpers<2>-Footnote-66405288 +Ref: URL Helpers<2>-Footnote-67405349 +Ref: URL Helpers<2>-Footnote-68405412 +Ref: URL Helpers<2>-Footnote-69405473 +Ref: URL Helpers<2>-Footnote-70405536 +Ref: URL Helpers<2>-Footnote-71405598 +Ref: URL Helpers<2>-Footnote-72405661 +Ref: URL Helpers<2>-Footnote-73405724 +Ref: URL Helpers<2>-Footnote-74405785 +Ref: URL Helpers<2>-Footnote-75405846 +Ref: URL Helpers<2>-Footnote-76405907 +Ref: URL Helpers<2>-Footnote-77405968 +Ref: URL Helpers<2>-Footnote-78406029 +Ref: URL Helpers<2>-Footnote-79406090 +Ref: URL Helpers<2>-Footnote-80406151 +Ref: URL Helpers<2>-Footnote-81406214 +Ref: URL Helpers<2>-Footnote-82406275 +Ref: URL Helpers<2>-Footnote-83406336 +Ref: URL Helpers<2>-Footnote-84406397 +Ref: URL Helpers<2>-Footnote-85406462 +Ref: URL Helpers<2>-Footnote-86406525 +Ref: URL Helpers<2>-Footnote-87406586 +Ref: URL Helpers<2>-Footnote-88406647 +Ref: URL Helpers<2>-Footnote-89406708 +Ref: URL Helpers<2>-Footnote-90406769 +Ref: URL Helpers<2>-Footnote-91406830 +Ref: URL Helpers<2>-Footnote-92406891 +Ref: URL Helpers<2>-Footnote-93406952 +Ref: URL Helpers<2>-Footnote-94407015 +Ref: URL Helpers<2>-Footnote-95407076 +Ref: URL Helpers<2>-Footnote-96407137 +Ref: URL Helpers<2>-Footnote-97407198 +Ref: URL Helpers<2>-Footnote-98407263 +Ref: URL Helpers<2>-Footnote-99407326 +Ref: URL Helpers<2>-Footnote-100407389 +Ref: URL Helpers<2>-Footnote-101407451 +Ref: URL Helpers<2>-Footnote-102407513 +Ref: URL Helpers<2>-Footnote-103407575 +Ref: URL Helpers<2>-Footnote-104407637 +Ref: URL Helpers<2>-Footnote-105407699 +Ref: URL Helpers<2>-Footnote-106407761 +Ref: URL Helpers<2>-Footnote-107407823 +Ref: URL Helpers<2>-Footnote-108407885 +Ref: URL Helpers<2>-Footnote-109407947 +Ref: URL Helpers<2>-Footnote-110408009 +Ref: URL Helpers<2>-Footnote-111408071 +Ref: URL Helpers<2>-Footnote-112408133 +Ref: URL Helpers<2>-Footnote-113408195 +Ref: URL Helpers<2>-Footnote-114408257 +Ref: URL Helpers<2>-Footnote-115408319 +Ref: URL Helpers<2>-Footnote-116408383 +Ref: URL Helpers<2>-Footnote-117408445 +Ref: URL Helpers<2>-Footnote-118408507 +Ref: URL Helpers<2>-Footnote-119408569 +Ref: URL Helpers<2>-Footnote-120408633 +Ref: URL Helpers<2>-Footnote-121408695 +Ref: URL Helpers<2>-Footnote-122408757 +Ref: URL Helpers<2>-Footnote-123408821 +Ref: URL Helpers<2>-Footnote-124408883 +Ref: URL Helpers<2>-Footnote-125408947 +Ref: URL Helpers<2>-Footnote-126409009 +Ref: URL Helpers<2>-Footnote-127409073 +Ref: URL Helpers<2>-Footnote-128409135 +Ref: URL Helpers<2>-Footnote-129409197 +Ref: URL Helpers<2>-Footnote-130409259 +Ref: URL Helpers<2>-Footnote-131409321 +Ref: URL Helpers<2>-Footnote-132409383 +Ref: URL Helpers<2>-Footnote-133409445 +Ref: URL Helpers<2>-Footnote-134409507 +Ref: URL Helpers<2>-Footnote-135409569 +Ref: URL Helpers<2>-Footnote-136409631 +Ref: URL Helpers<2>-Footnote-137409693 +Ref: URL Helpers<2>-Footnote-138409755 +Ref: URL Helpers<2>-Footnote-139409817 +Ref: URL Helpers<2>-Footnote-140409879 +Ref: URL Helpers<2>-Footnote-141409941 +Ref: URL Helpers<2>-Footnote-142410005 +Ref: URL Helpers<2>-Footnote-143410067 +Ref: URL Helpers<2>-Footnote-144410129 +Ref: URL Helpers<2>-Footnote-145410191 +Ref: URL Helpers<2>-Footnote-146410253 +Ref: URL Helpers<2>-Footnote-147410315 +Ref: URL Helpers<2>-Footnote-148410379 +Ref: URL Helpers<2>-Footnote-149410441 +Ref: URL Helpers<2>-Footnote-150410503 +Node: Context Locals410565 +Ref: local doc410669 +Ref: 29d410669 +Ref: local context-locals410669 +Ref: 29e410669 +Ref: local module-werkzeug local410669 +Ref: 6410669 +Ref: local werkzeug local release_local413505 +Ref: 29f413505 +Ref: local werkzeug local LocalManager414326 +Ref: 2a1414326 +Ref: local werkzeug local LocalManager cleanup415287 +Ref: 2a2415287 +Ref: local werkzeug local LocalManager get_ident415507 +Ref: 2a3415507 +Ref: local werkzeug local LocalManager make_middleware416124 +Ref: 2a4416124 +Ref: local werkzeug local LocalManager middleware416359 +Ref: 2a5416359 +Ref: local werkzeug local LocalStack416897 +Ref: 2a0416897 +Ref: local werkzeug local LocalStack pop417767 +Ref: 2a6417767 +Ref: local werkzeug local LocalStack push417955 +Ref: 2a7417955 +Ref: local werkzeug local LocalStack top418111 +Ref: 2a8418111 +Ref: local werkzeug local LocalProxy418240 +Ref: 2a9418240 +Ref: local werkzeug local LocalProxy _get_current_object419696 +Ref: 2aa419696 +Ref: middleware/index module-werkzeug middleware419994 +Ref: 7419994 +Ref: Context Locals-Footnote-1420030 +Ref: Context Locals-Footnote-2420092 +Ref: Context Locals-Footnote-3420154 +Ref: Context Locals-Footnote-4420216 +Ref: Context Locals-Footnote-5420278 +Ref: Context Locals-Footnote-6420339 +Ref: Context Locals-Footnote-7420401 +Node: Middleware420472 +Ref: middleware/index doc420577 +Ref: 2ab420577 +Ref: middleware/index middleware420577 +Ref: 2ac420577 +Ref: middleware/proxy_fix module-werkzeug middleware proxy_fix420781 +Ref: c420781 +Node: X-Forwarded-For Proxy Fix420951 +Ref: middleware/proxy_fix doc421059 +Ref: 2ad421059 +Ref: middleware/proxy_fix x-forwarded-for-proxy-fix421059 +Ref: 2ae421059 +Ref: middleware/proxy_fix werkzeug middleware proxy_fix ProxyFix421830 +Ref: 2af421830 +Ref: middleware/shared_data module-werkzeug middleware shared_data424524 +Ref: d424524 +Ref: X-Forwarded-For Proxy Fix-Footnote-1424560 +Ref: X-Forwarded-For Proxy Fix-Footnote-2424621 +Ref: X-Forwarded-For Proxy Fix-Footnote-3424682 +Ref: X-Forwarded-For Proxy Fix-Footnote-4424743 +Ref: X-Forwarded-For Proxy Fix-Footnote-5424804 +Ref: X-Forwarded-For Proxy Fix-Footnote-6424865 +Node: Serve Shared Static Files424927 +Ref: middleware/shared_data doc425066 +Ref: 2b0425066 +Ref: middleware/shared_data serve-shared-static-files425066 +Ref: 2b1425066 +Ref: middleware/shared_data werkzeug middleware shared_data SharedDataMiddleware425133 +Ref: 2b2425133 +Ref: middleware/shared_data werkzeug middleware shared_data SharedDataMiddleware is_allowed428435 +Ref: 2b3428435 +Ref: middleware/dispatcher module-werkzeug middleware dispatcher428754 +Ref: 8428754 +Ref: Serve Shared Static Files-Footnote-1428790 +Ref: Serve Shared Static Files-Footnote-2428861 +Ref: Serve Shared Static Files-Footnote-3428921 +Ref: Serve Shared Static Files-Footnote-4428981 +Ref: Serve Shared Static Files-Footnote-5429041 +Ref: Serve Shared Static Files-Footnote-6429101 +Ref: Serve Shared Static Files-Footnote-7429161 +Ref: Serve Shared Static Files-Footnote-8429221 +Ref: Serve Shared Static Files-Footnote-9429281 +Ref: Serve Shared Static Files-Footnote-10429341 +Ref: Serve Shared Static Files-Footnote-11429404 +Ref: Serve Shared Static Files-Footnote-12429476 +Ref: Serve Shared Static Files-Footnote-13429539 +Ref: Serve Shared Static Files-Footnote-14429601 +Ref: Serve Shared Static Files-Footnote-15429662 +Ref: Serve Shared Static Files-Footnote-16429725 +Ref: Serve Shared Static Files-Footnote-17429786 +Node: Application Dispatcher429849 +Ref: middleware/dispatcher doc429979 +Ref: 2b4429979 +Ref: middleware/dispatcher application-dispatcher429979 +Ref: 2b5429979 +Ref: middleware/dispatcher werkzeug middleware dispatcher DispatcherMiddleware431036 +Ref: 2b6431036 +Ref: middleware/http_proxy module-werkzeug middleware http_proxy431665 +Ref: 9431665 +Ref: Application Dispatcher-Footnote-1431701 +Ref: Application Dispatcher-Footnote-2431761 +Node: Basic HTTP Proxy431823 +Ref: middleware/http_proxy doc431948 +Ref: 2b7431948 +Ref: middleware/http_proxy basic-http-proxy431948 +Ref: 2b8431948 +Ref: middleware/http_proxy werkzeug middleware http_proxy ProxyMiddleware431997 +Ref: 2b9431997 +Ref: middleware/lint module-werkzeug middleware lint434441 +Ref: a434441 +Ref: Basic HTTP Proxy-Footnote-1434477 +Ref: Basic HTTP Proxy-Footnote-2434543 +Ref: Basic HTTP Proxy-Footnote-3434603 +Ref: Basic HTTP Proxy-Footnote-4434663 +Ref: Basic HTTP Proxy-Footnote-5434724 +Ref: Basic HTTP Proxy-Footnote-6434785 +Node: WSGI Protocol Linter434847 +Ref: middleware/lint doc434970 +Ref: 2ba434970 +Ref: middleware/lint wsgi-protocol-linter434970 +Ref: 2bb434970 +Ref: middleware/lint werkzeug middleware lint LintMiddleware435301 +Ref: 2bc435301 +Ref: middleware/profiler module-werkzeug middleware profiler436099 +Ref: b436099 +Ref: WSGI Protocol Linter-Footnote-1436136 +Ref: WSGI Protocol Linter-Footnote-2436185 +Ref: WSGI Protocol Linter-Footnote-3436257 +Node: Application Profiler436319 +Ref: middleware/profiler doc436417 +Ref: 2bd436417 +Ref: middleware/profiler application-profiler436417 +Ref: 2be436417 +Ref: middleware/profiler werkzeug middleware profiler ProfilerMiddleware436657 +Ref: 2bf436657 +Ref: Application Profiler-Footnote-1439349 +Ref: Application Profiler-Footnote-2439420 +Ref: Application Profiler-Footnote-3439488 +Ref: Application Profiler-Footnote-4439559 +Ref: Application Profiler-Footnote-5439626 +Ref: Application Profiler-Footnote-6439686 +Ref: Application Profiler-Footnote-7439746 +Ref: Application Profiler-Footnote-8439826 +Ref: Application Profiler-Footnote-9439886 +Ref: Application Profiler-Footnote-10439947 +Ref: Application Profiler-Footnote-11440011 +Ref: Application Profiler-Footnote-12440093 +Ref: Application Profiler-Footnote-13440154 +Ref: Application Profiler-Footnote-14440215 +Node: HTTP Exceptions440278 +Ref: exceptions doc440360 +Ref: 2c0440360 +Ref: exceptions http-exceptions440360 +Ref: 2c1440360 +Ref: exceptions module-werkzeug exceptions440360 +Ref: 2440360 +Node: Usage Example440655 +Ref: exceptions usage-example440744 +Ref: 2c2440744 +Node: Error Classes441881 +Ref: exceptions error-classes441988 +Ref: 2c3441988 +Ref: exceptions werkzeug exceptions BadRequest442079 +Ref: e2442079 +Ref: exceptions werkzeug exceptions Unauthorized442505 +Ref: 2c4442505 +Ref: exceptions werkzeug exceptions Forbidden444377 +Ref: 2c5444377 +Ref: exceptions werkzeug exceptions NotFound444801 +Ref: 32444801 +Ref: exceptions werkzeug exceptions MethodNotAllowed445175 +Ref: 148445175 +Ref: exceptions werkzeug exceptions NotAcceptable446130 +Ref: 2c6446130 +Ref: exceptions werkzeug exceptions RequestTimeout446568 +Ref: 2c7446568 +Ref: exceptions werkzeug exceptions Conflict446932 +Ref: 2c8446932 +Ref: exceptions werkzeug exceptions Gone447394 +Ref: 2c9447394 +Ref: exceptions werkzeug exceptions LengthRequired447787 +Ref: 2ca447787 +Ref: exceptions werkzeug exceptions PreconditionFailed448259 +Ref: 2cb448259 +Ref: exceptions werkzeug exceptions RequestEntityTooLarge448710 +Ref: dc448710 +Ref: exceptions werkzeug exceptions RequestURITooLarge449145 +Ref: 2cc449145 +Ref: exceptions werkzeug exceptions UnsupportedMediaType449523 +Ref: 2cd449523 +Ref: exceptions werkzeug exceptions RequestedRangeNotSatisfiable449973 +Ref: 136449973 +Ref: exceptions werkzeug exceptions ExpectationFailed450639 +Ref: 2ce450639 +Ref: exceptions werkzeug exceptions ImATeapot451080 +Ref: 2cf451080 +Ref: exceptions werkzeug exceptions UnprocessableEntity451533 +Ref: 2d0451533 +Ref: exceptions werkzeug exceptions Locked451964 +Ref: 2d1451964 +Ref: exceptions werkzeug exceptions FailedDependency452336 +Ref: 2d2452336 +Ref: exceptions werkzeug exceptions PreconditionRequired452822 +Ref: 2d3452822 +Ref: exceptions werkzeug exceptions TooManyRequests453660 +Ref: 2d4453660 +Ref: exceptions werkzeug exceptions RequestHeaderFieldsTooLarge454672 +Ref: 2d5454672 +Ref: exceptions werkzeug exceptions UnavailableForLegalReasons455217 +Ref: 2d6455217 +Ref: exceptions werkzeug exceptions InternalServerError455695 +Ref: 2d7455695 +Ref: exceptions werkzeug exceptions InternalServerError original_exception456364 +Ref: 2d8456364 +Ref: exceptions werkzeug exceptions NotImplemented456565 +Ref: 2d9456565 +Ref: exceptions werkzeug exceptions BadGateway456983 +Ref: 2da456983 +Ref: exceptions werkzeug exceptions ServiceUnavailable457504 +Ref: 2db457504 +Ref: exceptions werkzeug exceptions GatewayTimeout458274 +Ref: 2dc458274 +Ref: exceptions werkzeug exceptions HTTPVersionNotSupported458692 +Ref: 2dd458692 +Ref: exceptions werkzeug exceptions ClientDisconnected459126 +Ref: 17b459126 +Ref: exceptions werkzeug exceptions SecurityError459990 +Ref: 182459990 +Ref: Error Classes-Footnote-1460456 +Ref: Error Classes-Footnote-2460516 +Ref: Error Classes-Footnote-3460578 +Ref: Error Classes-Footnote-4460638 +Ref: Error Classes-Footnote-5460700 +Ref: Error Classes-Footnote-6460760 +Ref: Error Classes-Footnote-7460822 +Ref: Error Classes-Footnote-8460882 +Ref: Error Classes-Footnote-9460944 +Ref: Error Classes-Footnote-10461004 +Ref: Error Classes-Footnote-11461065 +Ref: Error Classes-Footnote-12461128 +Ref: Error Classes-Footnote-13461189 +Ref: Error Classes-Footnote-14461252 +Ref: Error Classes-Footnote-15461313 +Ref: Error Classes-Footnote-16461376 +Ref: Error Classes-Footnote-17461437 +Ref: Error Classes-Footnote-18461500 +Ref: Error Classes-Footnote-19461561 +Ref: Error Classes-Footnote-20461624 +Ref: Error Classes-Footnote-21461685 +Ref: Error Classes-Footnote-22461748 +Ref: Error Classes-Footnote-23461809 +Ref: Error Classes-Footnote-24461872 +Ref: Error Classes-Footnote-25461933 +Ref: Error Classes-Footnote-26461996 +Ref: Error Classes-Footnote-27462057 +Ref: Error Classes-Footnote-28462120 +Ref: Error Classes-Footnote-29462181 +Ref: Error Classes-Footnote-30462244 +Ref: Error Classes-Footnote-31462306 +Ref: Error Classes-Footnote-32462367 +Ref: Error Classes-Footnote-33462428 +Ref: Error Classes-Footnote-34462491 +Ref: Error Classes-Footnote-35462552 +Ref: Error Classes-Footnote-36462615 +Ref: Error Classes-Footnote-37462676 +Ref: Error Classes-Footnote-38462739 +Ref: Error Classes-Footnote-39462800 +Ref: Error Classes-Footnote-40462863 +Ref: Error Classes-Footnote-41462924 +Ref: Error Classes-Footnote-42462987 +Ref: Error Classes-Footnote-43463048 +Ref: Error Classes-Footnote-44463111 +Ref: Error Classes-Footnote-45463172 +Ref: Error Classes-Footnote-46463235 +Ref: Error Classes-Footnote-47463311 +Ref: Error Classes-Footnote-48463373 +Ref: Error Classes-Footnote-49463435 +Ref: Error Classes-Footnote-50463511 +Ref: Error Classes-Footnote-51463572 +Ref: Error Classes-Footnote-52463635 +Ref: Error Classes-Footnote-53463696 +Ref: Error Classes-Footnote-54463759 +Ref: Error Classes-Footnote-55463820 +Ref: Error Classes-Footnote-56463883 +Ref: Error Classes-Footnote-57463944 +Ref: Error Classes-Footnote-58464017 +Ref: Error Classes-Footnote-59464080 +Ref: Error Classes-Footnote-60464141 +Ref: Error Classes-Footnote-61464204 +Ref: Error Classes-Footnote-62464265 +Ref: Error Classes-Footnote-63464328 +Ref: Error Classes-Footnote-64464404 +Ref: Error Classes-Footnote-65464466 +Ref: Error Classes-Footnote-66464528 +Ref: Error Classes-Footnote-67464604 +Ref: Error Classes-Footnote-68464665 +Ref: Error Classes-Footnote-69464728 +Ref: Error Classes-Footnote-70464789 +Ref: Error Classes-Footnote-71464852 +Ref: Error Classes-Footnote-72464913 +Ref: Error Classes-Footnote-73464976 +Ref: Error Classes-Footnote-74465037 +Ref: Error Classes-Footnote-75465100 +Ref: Error Classes-Footnote-76465161 +Node: Baseclass465224 +Ref: exceptions baseclass465341 +Ref: 2de465341 +Ref: exceptions werkzeug exceptions HTTPException465429 +Ref: 33465429 +Ref: exceptions werkzeug exceptions HTTPException __call__465949 +Ref: 2df465949 +Ref: exceptions werkzeug exceptions HTTPException get_response466330 +Ref: 2e0466330 +Ref: Baseclass-Footnote-1466989 +Ref: Baseclass-Footnote-2467049 +Ref: Baseclass-Footnote-3467111 +Ref: Baseclass-Footnote-4467173 +Node: Special HTTP Exceptions467234 +Ref: exceptions special-http-exceptions467353 +Ref: 2e1467353 +Ref: exceptions werkzeug exceptions BadRequestKeyError468344 +Ref: 2e2468344 +Ref: Special HTTP Exceptions-Footnote-1468763 +Ref: Special HTTP Exceptions-Footnote-2468830 +Ref: Special HTTP Exceptions-Footnote-3468897 +Ref: Special HTTP Exceptions-Footnote-4468964 +Node: Simple Aborting469024 +Ref: exceptions simple-aborting469147 +Ref: 2e3469147 +Ref: exceptions werkzeug exceptions abort469391 +Ref: 2e4469391 +Ref: exceptions werkzeug exceptions Aborter470175 +Ref: 2e5470175 +Ref: Simple Aborting-Footnote-1471033 +Ref: Simple Aborting-Footnote-2471094 +Ref: Simple Aborting-Footnote-3471155 +Ref: Simple Aborting-Footnote-4471216 +Node: Custom Errors471278 +Ref: exceptions custom-errors471369 +Ref: 2e6471369 +Node: Deployment472399 +Ref: index deployment472500 +Ref: 2e7472500 +Node: Application Deployment472564 +Ref: deployment/index doc472635 +Ref: 4b472635 +Ref: deployment/index application-deployment472635 +Ref: 2e8472635 +Node: CGI472880 +Ref: deployment/cgi doc472968 +Ref: 2e9472968 +Ref: deployment/cgi cgi472968 +Ref: 2ea472968 +Ref: CGI-Footnote-1473470 +Node: Creating a cgi file473514 +Ref: deployment/cgi appengine473596 +Ref: 2eb473596 +Ref: deployment/cgi creating-a-cgi-file473596 +Ref: 2ec473596 +Node: Server Setup473936 +Ref: deployment/cgi server-setup474018 +Ref: 2ed474018 +Node: mod_wsgi Apache474473 +Ref: deployment/mod_wsgi doc474577 +Ref: 2ee474577 +Ref: deployment/mod_wsgi mod-wsgi-apache474577 +Ref: 2ef474577 +Ref: mod_wsgi Apache-Footnote-1474855 +Ref: mod_wsgi Apache-Footnote-2474889 +Node: Installing mod_wsgi474940 +Ref: deployment/mod_wsgi apache475042 +Ref: 2f0475042 +Ref: deployment/mod_wsgi installing-mod-wsgi475042 +Ref: 2f1475042 +Ref: Installing mod_wsgi-Footnote-1475869 +Node: Creating a wsgi file475937 +Ref: deployment/mod_wsgi creating-a-wsgi-file476066 +Ref: 2f2476066 +Ref: Creating a wsgi file-Footnote-1476993 +Node: Configuring Apache477038 +Ref: deployment/mod_wsgi configuring-apache477139 +Ref: 2f3477139 +Node: FastCGI477862 +Ref: deployment/fastcgi doc477976 +Ref: 2f4477976 +Ref: deployment/fastcgi fastcgi477976 +Ref: 2f5477976 +Ref: deployment/fastcgi virtual-python477976 +Ref: 2f6477976 +Ref: FastCGI-Footnote-1478429 +Ref: FastCGI-Footnote-2478463 +Ref: FastCGI-Footnote-3478490 +Node: Creating a fcgi file478529 +Ref: deployment/fastcgi creating-a-fcgi-file478624 +Ref: 2f7478624 +Node: Configuring lighttpd479701 +Ref: deployment/fastcgi configuring-lighttpd479822 +Ref: 2f8479822 +Ref: Configuring lighttpd-Footnote-1480645 +Node: Configuring nginx480722 +Ref: deployment/fastcgi configuring-nginx480832 +Ref: 2f9480832 +Node: Debugging482077 +Ref: deployment/fastcgi debugging482158 +Ref: 2fa482158 +Node: HTTP Proxying483229 +Ref: deployment/proxying doc483319 +Ref: 2fb483319 +Ref: deployment/proxying flup483319 +Ref: 2fc483319 +Ref: deployment/proxying http-proxying483319 +Ref: 2fd483319 +Node: Creating a py server483766 +Ref: deployment/proxying creating-a-py-server483867 +Ref: 2fe483867 +Node: Configuring nginx<2>484589 +Ref: deployment/proxying configuring-nginx484690 +Ref: 2ff484690 +Node: Additional Information485331 +Ref: index additional-information485442 +Ref: 300485442 +Node: Important Terms485621 +Ref: terms doc485713 +Ref: 301485713 +Ref: terms important-terms485713 +Ref: 302485713 +Node: WSGI485892 +Ref: terms wsgi485974 +Ref: 303485974 +Ref: WSGI-Footnote-1486268 +Node: Response Object486317 +Ref: terms response-object486421 +Ref: 304486421 +Node: View Function486903 +Ref: terms view-function486994 +Ref: 305486994 +Node: Unicode487658 +Ref: unicode doc487773 +Ref: 306487773 +Ref: unicode unicode487773 +Ref: 307487773 +Node: Unicode in Python488189 +Ref: unicode unicode-in-python488276 +Ref: 308488276 +Node: Unicode in HTTP489011 +Ref: unicode unicode-in-http489121 +Ref: 309489121 +Node: Error Handling489556 +Ref: unicode error-handling489677 +Ref: 30a489677 +Ref: Error Handling-Footnote-1490082 +Node: Request and Response Objects490149 +Ref: unicode request-and-response-objects490246 +Ref: 30b490246 +Node: The Filesystem491077 +Ref: unicode filesystem-encoding491202 +Ref: 197491202 +Ref: unicode the-filesystem491202 +Ref: 30c491202 +Ref: The Filesystem-Footnote-1491904 +Node: Dealing with Request Data491982 +Ref: request_data doc492120 +Ref: dd492120 +Ref: request_data dealing-with-request-data492120 +Ref: 30d492120 +Node: Missing EOF Marker on Input Stream492663 +Ref: request_data missing-eof-marker-on-input-stream492795 +Ref: 30e492795 +Node: When does Werkzeug Parse?493395 +Ref: request_data when-does-werkzeug-parse493554 +Ref: 30f493554 +Node: How does it Parse?494369 +Ref: request_data how-does-it-parse494515 +Ref: 310494515 +Node: Limiting Request Data495481 +Ref: request_data limiting-request-data495624 +Ref: 311495624 +Node: How to extend Parsing?496549 +Ref: request_data how-to-extend-parsing496665 +Ref: 312496665 +Node: BSD-3-Clause License496911 +Ref: license doc497042 +Ref: 313497042 +Ref: license bsd-3-clause-license497042 +Ref: 314497042 +Node: Changes498586 +Ref: changes doc498683 +Ref: 315498683 +Ref: changes changes498683 +Ref: 316498683 +Node: Version 2 0 2501027 +Ref: changes version-2-0-2501108 +Ref: 317501108 +Ref: Version 2 0 2-Footnote-1503276 +Ref: Version 2 0 2-Footnote-2503332 +Ref: Version 2 0 2-Footnote-3503386 +Ref: Version 2 0 2-Footnote-4503440 +Ref: Version 2 0 2-Footnote-5503496 +Ref: Version 2 0 2-Footnote-6503552 +Ref: Version 2 0 2-Footnote-7503608 +Ref: Version 2 0 2-Footnote-8503664 +Ref: Version 2 0 2-Footnote-9503720 +Ref: Version 2 0 2-Footnote-10503776 +Ref: Version 2 0 2-Footnote-11503833 +Ref: Version 2 0 2-Footnote-12503890 +Ref: Version 2 0 2-Footnote-13503947 +Ref: Version 2 0 2-Footnote-14504002 +Ref: Version 2 0 2-Footnote-15504059 +Ref: Version 2 0 2-Footnote-16504114 +Ref: Version 2 0 2-Footnote-17504169 +Node: Version 2 0 1504226 +Ref: changes version-2-0-1504329 +Ref: 318504329 +Ref: Version 2 0 1-Footnote-1505224 +Ref: Version 2 0 1-Footnote-2505280 +Ref: Version 2 0 1-Footnote-3505336 +Ref: Version 2 0 1-Footnote-4505392 +Ref: Version 2 0 1-Footnote-5505448 +Ref: Version 2 0 1-Footnote-6505504 +Ref: Version 2 0 1-Footnote-7505560 +Node: Version 2 0 0505616 +Ref: changes version-2-0-0505719 +Ref: 319505719 +Ref: Version 2 0 0-Footnote-1517016 +Ref: Version 2 0 0-Footnote-2517070 +Ref: Version 2 0 0-Footnote-3517140 +Ref: Version 2 0 0-Footnote-4517196 +Ref: Version 2 0 0-Footnote-5517269 +Ref: Version 2 0 0-Footnote-6517325 +Ref: Version 2 0 0-Footnote-7517381 +Ref: Version 2 0 0-Footnote-8517437 +Ref: Version 2 0 0-Footnote-9517493 +Ref: Version 2 0 0-Footnote-10517549 +Ref: Version 2 0 0-Footnote-11517606 +Ref: Version 2 0 0-Footnote-12517663 +Ref: Version 2 0 0-Footnote-13517718 +Ref: Version 2 0 0-Footnote-14517775 +Ref: Version 2 0 0-Footnote-15517830 +Ref: Version 2 0 0-Footnote-16517887 +Ref: Version 2 0 0-Footnote-17517944 +Ref: Version 2 0 0-Footnote-18517999 +Ref: Version 2 0 0-Footnote-19518056 +Ref: Version 2 0 0-Footnote-20518113 +Ref: Version 2 0 0-Footnote-21518170 +Ref: Version 2 0 0-Footnote-22518225 +Ref: Version 2 0 0-Footnote-23518280 +Ref: Version 2 0 0-Footnote-24518335 +Ref: Version 2 0 0-Footnote-25518392 +Ref: Version 2 0 0-Footnote-26518449 +Ref: Version 2 0 0-Footnote-27518506 +Ref: Version 2 0 0-Footnote-28518561 +Ref: Version 2 0 0-Footnote-29518617 +Ref: Version 2 0 0-Footnote-30518672 +Ref: Version 2 0 0-Footnote-31518729 +Ref: Version 2 0 0-Footnote-32518786 +Ref: Version 2 0 0-Footnote-33518843 +Ref: Version 2 0 0-Footnote-34518900 +Ref: Version 2 0 0-Footnote-35518955 +Ref: Version 2 0 0-Footnote-36519010 +Ref: Version 2 0 0-Footnote-37519065 +Ref: Version 2 0 0-Footnote-38519120 +Ref: Version 2 0 0-Footnote-39519175 +Ref: Version 2 0 0-Footnote-40519230 +Ref: Version 2 0 0-Footnote-41519286 +Ref: Version 2 0 0-Footnote-42519343 +Ref: Version 2 0 0-Footnote-43519398 +Ref: Version 2 0 0-Footnote-44519455 +Ref: Version 2 0 0-Footnote-45519510 +Ref: Version 2 0 0-Footnote-46519565 +Ref: Version 2 0 0-Footnote-47519620 +Ref: Version 2 0 0-Footnote-48519677 +Ref: Version 2 0 0-Footnote-49519727 +Ref: Version 2 0 0-Footnote-50519782 +Ref: Version 2 0 0-Footnote-51519839 +Ref: Version 2 0 0-Footnote-52519894 +Ref: Version 2 0 0-Footnote-53519951 +Ref: Version 2 0 0-Footnote-54520008 +Ref: Version 2 0 0-Footnote-55520063 +Ref: Version 2 0 0-Footnote-56520120 +Ref: Version 2 0 0-Footnote-57520177 +Ref: Version 2 0 0-Footnote-58520234 +Ref: Version 2 0 0-Footnote-59520289 +Ref: Version 2 0 0-Footnote-60520346 +Ref: Version 2 0 0-Footnote-61520402 +Ref: Version 2 0 0-Footnote-62520459 +Ref: Version 2 0 0-Footnote-63520514 +Ref: Version 2 0 0-Footnote-64520569 +Ref: Version 2 0 0-Footnote-65520626 +Ref: Version 2 0 0-Footnote-66520683 +Ref: Version 2 0 0-Footnote-67520740 +Ref: Version 2 0 0-Footnote-68520797 +Ref: Version 2 0 0-Footnote-69520852 +Ref: Version 2 0 0-Footnote-70520907 +Ref: Version 2 0 0-Footnote-71520962 +Ref: Version 2 0 0-Footnote-72521017 +Ref: Version 2 0 0-Footnote-73521072 +Node: Version 1 0 1521127 +Ref: changes version-1-0-1521230 +Ref: 31a521230 +Ref: Version 1 0 1-Footnote-1521855 +Ref: Version 1 0 1-Footnote-2521911 +Ref: Version 1 0 1-Footnote-3521965 +Ref: Version 1 0 1-Footnote-4522019 +Ref: Version 1 0 1-Footnote-5522075 +Ref: Version 1 0 1-Footnote-6522131 +Node: Version 1 0 0522187 +Ref: changes version-1-0-0522291 +Ref: 31b522291 +Ref: Version 1 0 0-Footnote-1528444 +Ref: Version 1 0 0-Footnote-2528500 +Ref: Version 1 0 0-Footnote-3528556 +Ref: Version 1 0 0-Footnote-4528609 +Ref: Version 1 0 0-Footnote-5528663 +Ref: Version 1 0 0-Footnote-6528717 +Ref: Version 1 0 0-Footnote-7528773 +Ref: Version 1 0 0-Footnote-8528829 +Ref: Version 1 0 0-Footnote-9528883 +Ref: Version 1 0 0-Footnote-10528937 +Ref: Version 1 0 0-Footnote-11528993 +Ref: Version 1 0 0-Footnote-12529050 +Ref: Version 1 0 0-Footnote-13529105 +Ref: Version 1 0 0-Footnote-14529162 +Ref: Version 1 0 0-Footnote-15529217 +Ref: Version 1 0 0-Footnote-16529273 +Ref: Version 1 0 0-Footnote-17529328 +Ref: Version 1 0 0-Footnote-18529383 +Ref: Version 1 0 0-Footnote-19529438 +Ref: Version 1 0 0-Footnote-20529495 +Ref: Version 1 0 0-Footnote-21529550 +Ref: Version 1 0 0-Footnote-22529605 +Ref: Version 1 0 0-Footnote-23529661 +Ref: Version 1 0 0-Footnote-24529716 +Ref: Version 1 0 0-Footnote-25529772 +Ref: Version 1 0 0-Footnote-26529827 +Ref: Version 1 0 0-Footnote-27529882 +Ref: Version 1 0 0-Footnote-28529938 +Ref: Version 1 0 0-Footnote-29529995 +Ref: Version 1 0 0-Footnote-30530052 +Ref: Version 1 0 0-Footnote-31530109 +Ref: Version 1 0 0-Footnote-32530164 +Ref: Version 1 0 0-Footnote-33530214 +Ref: Version 1 0 0-Footnote-34530271 +Ref: Version 1 0 0-Footnote-35530328 +Ref: Version 1 0 0-Footnote-36530384 +Ref: Version 1 0 0-Footnote-37530441 +Ref: Version 1 0 0-Footnote-38530496 +Ref: Version 1 0 0-Footnote-39530551 +Ref: Version 1 0 0-Footnote-40530606 +Ref: Version 1 0 0-Footnote-41530661 +Ref: Version 1 0 0-Footnote-42530716 +Ref: Version 1 0 0-Footnote-43530772 +Ref: Version 1 0 0-Footnote-44530827 +Ref: Version 1 0 0-Footnote-45530884 +Ref: Version 1 0 0-Footnote-46530939 +Ref: Version 1 0 0-Footnote-47530994 +Ref: Version 1 0 0-Footnote-48531044 +Ref: Version 1 0 0-Footnote-49531100 +Ref: Version 1 0 0-Footnote-50531157 +Node: Version 0 16 1531214 +Ref: changes version-0-16-1531319 +Ref: 31c531319 +Ref: Version 0 16 1-Footnote-1531598 +Ref: Version 0 16 1-Footnote-2531654 +Node: Version 0 16 0531710 +Ref: changes version-0-16-0531816 +Ref: 31d531816 +Ref: Version 0 16 0-Footnote-1532460 +Ref: Version 0 16 0-Footnote-2532513 +Node: Version 0 15 6532567 +Ref: changes version-0-15-6532673 +Ref: 31e532673 +Ref: Version 0 15 6-Footnote-1533385 +Ref: Version 0 15 6-Footnote-2533441 +Ref: Version 0 15 6-Footnote-3533497 +Node: Version 0 15 5533553 +Ref: changes version-0-15-5533659 +Ref: 31f533659 +Ref: Version 0 15 5-Footnote-1534870 +Ref: Version 0 15 5-Footnote-2534926 +Ref: Version 0 15 5-Footnote-3534982 +Ref: Version 0 15 5-Footnote-4535036 +Ref: Version 0 15 5-Footnote-5535092 +Ref: Version 0 15 5-Footnote-6535148 +Ref: Version 0 15 5-Footnote-7535204 +Ref: Version 0 15 5-Footnote-8535260 +Ref: Version 0 15 5-Footnote-9535316 +Node: Version 0 15 4535372 +Ref: changes version-0-15-4535478 +Ref: 320535478 +Ref: Version 0 15 4-Footnote-1535639 +Node: Version 0 15 3535695 +Ref: changes version-0-15-3535801 +Ref: 321535801 +Ref: Version 0 15 3-Footnote-1536773 +Ref: Version 0 15 3-Footnote-2536829 +Ref: Version 0 15 3-Footnote-3536883 +Ref: Version 0 15 3-Footnote-4536939 +Ref: Version 0 15 3-Footnote-5536995 +Ref: Version 0 15 3-Footnote-6537051 +Ref: Version 0 15 3-Footnote-7537107 +Node: Version 0 15 2537163 +Ref: changes version-0-15-2537269 +Ref: 322537269 +Ref: Version 0 15 2-Footnote-1538172 +Ref: Version 0 15 2-Footnote-2538228 +Ref: Version 0 15 2-Footnote-3538284 +Ref: Version 0 15 2-Footnote-4538340 +Node: Version 0 15 1538396 +Ref: changes version-0-15-1538502 +Ref: 323538502 +Ref: Version 0 15 1-Footnote-1538792 +Node: Version 0 15 0538848 +Ref: changes version-0-15-0538954 +Ref: 324538954 +Ref: Version 0 15 0-Footnote-1552914 +Ref: Version 0 15 0-Footnote-2552968 +Ref: Version 0 15 0-Footnote-3553021 +Ref: Version 0 15 0-Footnote-4553076 +Ref: Version 0 15 0-Footnote-5553129 +Ref: Version 0 15 0-Footnote-6553183 +Ref: Version 0 15 0-Footnote-7553237 +Ref: Version 0 15 0-Footnote-8553291 +Ref: Version 0 15 0-Footnote-9553346 +Ref: Version 0 15 0-Footnote-10553399 +Ref: Version 0 15 0-Footnote-11553454 +Ref: Version 0 15 0-Footnote-12553509 +Ref: Version 0 15 0-Footnote-13553566 +Ref: Version 0 15 0-Footnote-14553621 +Ref: Version 0 15 0-Footnote-15553676 +Ref: Version 0 15 0-Footnote-16553732 +Ref: Version 0 15 0-Footnote-17553786 +Ref: Version 0 15 0-Footnote-18553841 +Ref: Version 0 15 0-Footnote-19553898 +Ref: Version 0 15 0-Footnote-20553953 +Ref: Version 0 15 0-Footnote-21554008 +Ref: Version 0 15 0-Footnote-22554058 +Ref: Version 0 15 0-Footnote-23554113 +Ref: Version 0 15 0-Footnote-24554163 +Ref: Version 0 15 0-Footnote-25554218 +Ref: Version 0 15 0-Footnote-26554273 +Ref: Version 0 15 0-Footnote-27554328 +Ref: Version 0 15 0-Footnote-28554383 +Ref: Version 0 15 0-Footnote-29554440 +Ref: Version 0 15 0-Footnote-30554495 +Ref: Version 0 15 0-Footnote-31554550 +Ref: Version 0 15 0-Footnote-32554605 +Ref: Version 0 15 0-Footnote-33554693 +Ref: Version 0 15 0-Footnote-34554754 +Ref: Version 0 15 0-Footnote-35554809 +Ref: Version 0 15 0-Footnote-36554864 +Ref: Version 0 15 0-Footnote-37554919 +Ref: Version 0 15 0-Footnote-38554974 +Ref: Version 0 15 0-Footnote-39555029 +Ref: Version 0 15 0-Footnote-40555084 +Ref: Version 0 15 0-Footnote-41555139 +Ref: Version 0 15 0-Footnote-42555194 +Ref: Version 0 15 0-Footnote-43555251 +Ref: Version 0 15 0-Footnote-44555306 +Ref: Version 0 15 0-Footnote-45555360 +Ref: Version 0 15 0-Footnote-46555415 +Ref: Version 0 15 0-Footnote-47555470 +Ref: Version 0 15 0-Footnote-48555525 +Ref: Version 0 15 0-Footnote-49555579 +Ref: Version 0 15 0-Footnote-50555634 +Ref: Version 0 15 0-Footnote-51555689 +Ref: Version 0 15 0-Footnote-52555744 +Ref: Version 0 15 0-Footnote-53555801 +Ref: Version 0 15 0-Footnote-54555856 +Ref: Version 0 15 0-Footnote-55555911 +Ref: Version 0 15 0-Footnote-56555966 +Ref: Version 0 15 0-Footnote-57556021 +Ref: Version 0 15 0-Footnote-58556076 +Ref: Version 0 15 0-Footnote-59556131 +Ref: Version 0 15 0-Footnote-60556185 +Ref: Version 0 15 0-Footnote-61556240 +Ref: Version 0 15 0-Footnote-62556309 +Ref: Version 0 15 0-Footnote-63556374 +Ref: Version 0 15 0-Footnote-64556429 +Ref: Version 0 15 0-Footnote-65556484 +Ref: Version 0 15 0-Footnote-66556539 +Ref: Version 0 15 0-Footnote-67556593 +Ref: Version 0 15 0-Footnote-68556638 +Ref: Version 0 15 0-Footnote-69556688 +Ref: Version 0 15 0-Footnote-70556744 +Ref: Version 0 15 0-Footnote-71556799 +Ref: Version 0 15 0-Footnote-72556854 +Ref: Version 0 15 0-Footnote-73556909 +Ref: Version 0 15 0-Footnote-74556966 +Ref: Version 0 15 0-Footnote-75557021 +Ref: Version 0 15 0-Footnote-76557078 +Ref: Version 0 15 0-Footnote-77557133 +Ref: Version 0 15 0-Footnote-78557188 +Ref: Version 0 15 0-Footnote-79557245 +Node: Version 0 14 1557300 +Ref: changes version-0-14-1557404 +Ref: 325557404 +Node: Version 0 14557578 +Ref: changes version-0-14557680 +Ref: 326557680 +Node: Version 0 13559771 +Ref: changes version-0-13559873 +Ref: 327559873 +Ref: Version 0 13-Footnote-1561744 +Ref: Version 0 13-Footnote-2561794 +Ref: Version 0 13-Footnote-3561848 +Ref: Version 0 13-Footnote-4561893 +Ref: Version 0 13-Footnote-5561947 +Ref: Version 0 13-Footnote-6562000 +Ref: Version 0 13-Footnote-7562056 +Ref: Version 0 13-Footnote-8562109 +Ref: Version 0 13-Footnote-9562162 +Ref: Version 0 13-Footnote-10562216 +Ref: Version 0 13-Footnote-11562271 +Ref: Version 0 13-Footnote-12562327 +Ref: Version 0 13-Footnote-13562382 +Ref: Version 0 13-Footnote-14562437 +Ref: Version 0 13-Footnote-15562492 +Node: Version 0 12 2562547 +Ref: changes click562651 +Ref: 328562651 +Ref: changes version-0-12-2562651 +Ref: 329562651 +Node: Version 0 12 1562948 +Ref: changes version-0-12-1563052 +Ref: 32a563052 +Node: Version 0 12563348 +Ref: changes version-0-12563453 +Ref: 32b563453 +Node: Version 0 11 16566239 +Ref: changes version-0-11-16566345 +Ref: 32c566345 +Node: Version 0 11 15566592 +Ref: changes version-0-11-15566701 +Ref: 32d566701 +Node: Version 0 11 14566834 +Ref: changes version-0-11-14566943 +Ref: 32e566943 +Node: Version 0 11 13567196 +Ref: changes version-0-11-13567305 +Ref: 32f567305 +Node: Version 0 11 12567466 +Ref: changes version-0-11-12567575 +Ref: 330567575 +Node: Version 0 11 11567901 +Ref: changes version-0-11-11568010 +Ref: 331568010 +Node: Version 0 11 10568591 +Ref: changes version-0-11-10568699 +Ref: 332568699 +Node: Version 0 11 9569062 +Ref: changes version-0-11-9569169 +Ref: 333569169 +Node: Version 0 11 8569546 +Ref: changes version-0-11-8569652 +Ref: 334569652 +Node: Version 0 11 7569812 +Ref: changes version-0-11-7569918 +Ref: 335569918 +Node: Version 0 11 6570048 +Ref: changes version-0-11-6570154 +Ref: 336570154 +Node: Version 0 11 5570771 +Ref: changes version-0-11-5570877 +Ref: 337570877 +Node: Version 0 11 4571038 +Ref: changes version-0-11-4571144 +Ref: 338571144 +Node: Version 0 11 3571319 +Ref: changes version-0-11-3571425 +Ref: 339571425 +Node: Version 0 11 2571826 +Ref: changes version-0-11-2571932 +Ref: 33a571932 +Node: Version 0 11 1572371 +Ref: changes version-0-11-1572475 +Ref: 33b572475 +Node: Version 0 11572607 +Ref: changes version-0-11572711 +Ref: 33c572711 +Node: Version 0 10 5574846 +Ref: changes version-0-10-5574950 +Ref: 33d574950 +Node: Version 0 10 4575318 +Ref: changes version-0-10-4575424 +Ref: 33e575424 +Node: Version 0 10 3575586 +Ref: changes version-0-10-3575692 +Ref: 33f575692 +Node: Version 0 10 2575840 +Ref: changes version-0-10-2575946 +Ref: 340575946 +Node: Version 0 10 1576688 +Ref: changes version-0-10-1576792 +Ref: 341576792 +Node: Version 0 10577082 +Ref: changes version-0-10577185 +Ref: 342577185 +Node: Version 0 9 7580636 +Ref: changes version-0-9-7580738 +Ref: 343580738 +Node: Version 0 9 6582651 +Ref: changes version-0-9-6582757 +Ref: 344582757 +Node: Version 0 9 7<2>583020 +Ref: changes id1583126 +Ref: 345583126 +Node: Version 0 9 5583250 +Ref: changes version-0-9-5583356 +Ref: 346583356 +Node: Version 0 9 4584131 +Ref: changes version-0-9-4584234 +Ref: 347584234 +Node: Version 0 9 3584555 +Ref: changes version-0-9-3584658 +Ref: 348584658 +Node: Version 0 9 2585242 +Ref: changes version-0-9-2585345 +Ref: 349585345 +Node: Version 0 9 1586214 +Ref: changes version-0-9-1586315 +Ref: 34a586315 +Node: Version 0 9587220 +Ref: changes version-0-9587321 +Ref: 34b587321 +Node: Version 0 8 4592141 +Ref: changes version-0-8-4592242 +Ref: 34c592242 +Node: Version 0 8 3593127 +Ref: changes version-0-8-3593230 +Ref: 34d593230 +Node: Version 0 8 2593817 +Ref: changes version-0-8-2593920 +Ref: 34e593920 +Node: Version 0 8 1594598 +Ref: changes version-0-8-1594699 +Ref: 34f594699 +Ref: Version 0 8 1-Footnote-1595135 +Node: Version 0 8595197 +Ref: changes version-0-8595298 +Ref: 350595298 +Node: Version 0 7 2597930 +Ref: changes version-0-7-2598031 +Ref: 351598031 +Node: Version 0 7 1598352 +Ref: changes version-0-7-1598453 +Ref: 352598453 +Node: Version 0 7598666 +Ref: changes version-0-7598767 +Ref: 353598767 +Node: Version 0 6 2604097 +Ref: changes version-0-6-2604198 +Ref: 354604198 +Node: Version 0 6 1604426 +Ref: changes version-0-6-1604527 +Ref: 355604527 +Node: Version 0 6605863 +Ref: changes version-0-6605964 +Ref: 356605964 +Node: Version 0 5 1610389 +Ref: changes version-0-5-1610488 +Ref: 357610488 +Node: Version 0 5611812 +Ref: changes version-0-5611913 +Ref: 358611913 +Ref: Version 0 5-Footnote-1615167 +Node: Version 0 4 1615229 +Ref: changes version-0-4-1615328 +Ref: 359615328 +Node: Version 0 4616693 +Ref: changes version-0-4616794 +Ref: 35a616794 +Node: Version 0 3 1618559 +Ref: changes version-0-3-1618658 +Ref: 35b618658 +Node: Version 0 3618820 +Ref: changes version-0-3618919 +Ref: 35c618919 +Node: Version 0 2620968 +Ref: changes version-0-2621065 +Ref: 35d621065 +Node: Version 0 1623236 +Ref: changes version-0-1623313 +Ref: 35e623313 +Node: Python Module Index623425 +Node: Index624227  End Tag Table