Flask Данные ответа доступа к промежуточному программному обеспечению - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь создать промежуточное ПО в 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)
...