aboutsummaryrefslogtreecommitdiffstats
path: root/src/server.py
diff options
context:
space:
mode:
authorkj_sh6042026-03-31 18:29:10 -0400
committerkj_sh6042026-03-31 18:29:10 -0400
commit9312014ad56607b1b890db261b8079e968d9f656 (patch)
tree95e8a6190937902a64d2d090475d129ece96ad9f /src/server.py
parent21700a35595c2ab5c28ab4ee007d8796d78df88a (diff)
refactor: add favicon
Diffstat (limited to 'src/server.py')
-rw-r--r--src/server.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/server.py b/src/server.py
index 8fc0235..e82406c 100644
--- a/src/server.py
+++ b/src/server.py
@@ -579,6 +579,7 @@ def paste_page(paste):
<meta name="color-scheme" content="light dark">
<meta name="robots" content="noindex, nofollow">
<title>kj-clipboard - {paste_id}</title>
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kj-sh604/noir.css@latest/out/noir.min.css">
{highlight_css}
</head>
@@ -632,6 +633,7 @@ def not_found_page():
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light dark">
<title>kj-clipboard - not found</title>
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kj-sh604/noir.css@latest/out/noir.min.css">
</head>
<body>
@@ -809,6 +811,20 @@ class ClipboardHandler(http.server.BaseHTTPRequestHandler):
self.wfile.write(data)
return
+ if path == "/favicon.svg":
+ icon_path = BASE_DIR / "favicon.svg"
+ if not icon_path.exists():
+ self.send_plain(404, "not found")
+ return
+ data = icon_path.read_bytes()
+ self.send_response(200)
+ self.send_header("Content-Type", "image/svg+xml")
+ self.send_header("Content-Length", str(len(data)))
+ self.add_security_headers()
+ self.end_headers()
+ self.wfile.write(data)
+ return
+
if path.startswith("/raw/"):
paste_id = path[5:]
if not is_valid_paste_id(paste_id):