File size: 1,989 Bytes
44b851e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# ~/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()