# ~/NewTonBot/newton_server.py from http.server import BaseHTTPRequestHandler, HTTPServer import json import urllib.parse import sys import os # Добавляем путь к твоему модулю sys.path.append(os.path.dirname(os.path.abspath(__file__))) # Импортируем твою функцию поиска/генерации # Предположим, у тебя есть функция `generate_answer(query)` from run import generate_response as generate_answer class NewtonHandler(BaseHTTPRequestHandler): def do_POST(self): if self.path == "/ask": content_length = int(self.headers['Content-Length']) post_data = self.rfile.read(content_length).decode('utf-8') data = json.loads(post_data) query = data.get("query", "").strip() try: answer = generate_answer(query) # ← твоя функция response = {"answer": answer} self.send_response(200) self.send_header("Content-type", "application/json") self.send_header("Access-Control-Allow-Origin", "*") self.end_headers() self.wfile.write(json.dumps(response, ensure_ascii=False).encode('utf-8')) except Exception as e: self.send_response(500) self.end_headers() self.wfile.write(f"Ошибка: {str(e)}".encode()) def do_OPTIONS(self): self.send_response(200) self.send_header("Access-Control-Allow-Origin", "*") self.send_header("Access-Control-Allow-Methods", "POST, OPTIONS") self.send_header("Access-Control-Allow-Headers", "Content-Type") self.end_headers() if __name__ == "__main__": server = HTTPServer(('localhost', 8000), NewtonHandler) print("Newton Search сервер запущен на http://localhost:8000") print("Открой GitHub Pages и работай!") server.serve_forever()