File size: 1,929 Bytes
720200d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"""
tool_server.py — Mini HTTP server za WebUI toolove
Servira /preset-creator i ostale admin alate na portu 8081
Radi kao sidecar uz Open WebUI (port 8080)
"""
from http.server import HTTPServer, BaseHTTPRequestHandler
import os

HTML_DIR = "/app/tools"

class ToolHandler(BaseHTTPRequestHandler):
    def log_message(self, format, *args):
        # Tiši logovi
        pass

    def do_GET(self):
        path = self.path.split("?")[0].rstrip("/")

        if path == "" or path == "/":
            self.redirect("/preset-creator")
            return

        if path == "/preset-creator":
            self.serve_file("preset_creator.html", "text/html; charset=utf-8")
            return

        # 404
        self.send_response(404)
        self.send_header("Content-Type", "text/plain; charset=utf-8")
        self.end_headers()
        self.wfile.write(b"404 Not Found")

    def redirect(self, location):
        self.send_response(302)
        self.send_header("Location", location)
        self.end_headers()

    def serve_file(self, filename, content_type):
        filepath = os.path.join(HTML_DIR, filename)
        if not os.path.exists(filepath):
            self.send_response(404)
            self.send_header("Content-Type", "text/plain")
            self.end_headers()
            self.wfile.write(f"File not found: {filename}".encode())
            return
        with open(filepath, "rb") as f:
            data = f.read()
        self.send_response(200)
        self.send_header("Content-Type", content_type)
        self.send_header("Content-Length", str(len(data)))
        self.end_headers()
        self.wfile.write(data)


if __name__ == "__main__":
    port = int(os.environ.get("TOOLS_PORT", 8081))
    server = HTTPServer(("0.0.0.0", port), ToolHandler)
    print(f"✅ Tool server pokrenut na portu {port}")
    print(f"   → http://localhost:{port}/preset-creator")
    server.serve_forever()