Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 访问响应数据_Python 3.x_Flask_Middleware_Wsgi - Fatal编程技术网

Python 3.x 访问响应数据

Python 3.x 访问响应数据,python-3.x,flask,middleware,wsgi,Python 3.x,Flask,Middleware,Wsgi,我试图在flask中创建一个中间件,将请求和响应存储在数据库中。我能够访问请求内部的数据,但无法确定如何访问响应内部的数据。显示内容长度1000的响应头&如果我正在更改它,则显示内容长度的差异 import pprint from werkzeug.wrappers import Request, Response class LoggerMiddleware: def __init__(self, application): self.__application =

我试图在flask中创建一个中间件,将请求和响应存储在数据库中。我能够访问请求内部的数据,但无法确定如何访问响应内部的数据。显示内容长度1000的响应头&如果我正在更改它,则显示内容长度的差异

import pprint
from werkzeug.wrappers import Request, Response

class LoggerMiddleware:
    def __init__(self, application):
        self.__application = application

    def __call__(self, environ, start_response):
        errors = environ['wsgi.errors']
        length = int(environ.get('CONTENT_LENGTH', '0'))
        data = environ['wsgi.input'].read(min(4096, length))
        if data:
            print(data)

        pprint.pprint(('REQUEST', environ), stream=errors)

        def _start_response(status, headers, *args):
            pprint.pprint(('RESPONSE', status, headers), stream=errors)
            return start_response(status, headers, *args)

        return self.__application(environ, _start_response)