Правильный способ изменить ответ во Flask, например, process_response

Учитывая простое приложение Flask , мне просто любопытно, есть ли правильный способ изменить Response в таких хуках, как process_response ?

например Дано:

from flask import Flask, Response

class MyFlask(Flask):
    def process_response(self, response):
        # edit response data, eg. add "... MORE!", but
        # keep eg mimetype, status_code
        response.data += "... This is added" # but should I modify `data`?
        return response
        # or should I:
        #     return Response(response.data + "... this is also added",
        #                     mimetype=response.mimetype, etc)

app = MyFlask(__name__)

@app.route('/')
def root():
    return "abddef"

if __name__ == '__main__':
    app.run()

Правильно ли каждый раз просто создавать новый ответ или канонично просто редактировать на месте параметр ответа и возвращать этот измененный ответ?

Это может быть чисто стилистическим, но мне любопытно - и в своем чтении я не заметил ничего, что указывало бы на предпочтительный способ сделать это (хотя, вероятно, это довольно распространено).

Спасибо за чтение.

11
задан Brian M. Hunt 12 November 2011 в 15:40
поделиться