blob: 99535c04245301b42cecd82cb6ad0fc7f38ae05e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import base64
from flask import Blueprint, Response, request
from newspipe.controllers import IconController
from newspipe.web.lib.view_utils import etag_match
icon_bp = Blueprint("icon", __name__, url_prefix="/icon")
@icon_bp.route("/", methods=["GET"])
@etag_match
def icon():
try:
icon = IconController().get(url=request.args["url"])
headers = {"Cache-Control": "max-age=86400", "Content-Type": icon.mimetype}
return Response(base64.b64decode(icon.content), headers=headers)
except Exception:
headers = {"Cache-Control": "max-age=86400", "Content-Type": "image/gif"}
return Response(
base64.b64decode(
"R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="
),
headers=headers,
)
|