Как можно из response get запроса взять изображение и вернуть его в теле ответа http запроса для http server python? request, HTTPServer

Я пытаюсь реализовать proxy-приложение на python с помощью HTTPServer, BaseHTTPRequestHandler. Приложение - это http сервер, которое принимает определенные запросы, добавляет определенные заголовки, переадресовывает иному ресурсу(через requests.request), затем полученное в requests в неизменном виде возвращает пользователю.

Могут поступать запросы с различным "Content-type" - img, json, xml и так далее. Так как подозреваю, что решение на все "Content-type" аналогично: рассматриваю пример с img/png.

class HttpHandler(BaseHTTPRequestHandler):
    "Класс-обработчика разных видов http запросов"
    def do_GET(self):
        "Обработчик get запросов"
        #Получения запроса, поступивешего на localhost.
        self.send_response(200)
        self.send_header("Content-type", "image/png")
        self.send_header('Access-Control-Allow-Origin', '*')
        self.end_headers()
        #Переадресация запроса в нспд
        response = requests.request("GET", URL + self.path, headers={'Authorization': autorisation()}, data={})
        #Передача полученого отправителю, обратившемуся на localhost
        self.wfile.write(bytes(response.text, "utf-8"))

Данный код, соответсвенно, проблемный. Пользоватлею не возвращается картинка. Вывожу в терминал адрес, заголовок и тело того, что собирается возвращать обработчик get запросов: что возвращается

Возможно, ошибка в кодировке, возможно, что-то не то передаю в self.wfile.write. Подскажите, что стоит сделать и что стоит почитать.


Ответы (0 шт):