25 lines
734 B
Python
25 lines
734 B
Python
import http.server
|
|
import json
|
|
import logging
|
|
|
|
def get_server(ip, port, answer_function):
|
|
class Server(http.server.BaseHTTPRequestHandler):
|
|
|
|
def do_POST(self):
|
|
length = int(self.headers.get('content-length'))
|
|
field_data = self.rfile.read(length)
|
|
fields = json.loads(field_data)
|
|
text = fields['text'].strip()
|
|
|
|
res = answer_function(text)
|
|
|
|
logging.info('Get request:' + text)
|
|
print(text)
|
|
self.send_response(200)
|
|
self.send_header('Content-type','text/plain')
|
|
self.end_headers()
|
|
|
|
|
|
self.wfile.write(res.encode())
|
|
|
|
return http.server.HTTPServer((ip, port), Server) |