Как можно из 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. Подскажите, что стоит сделать и что стоит почитать.