У меня есть пара автономных HTTP-серверов (на основе BaseHTTPServer
), которые я хочу объединить в один сервер (также на основе BaseHTTPServer
)
Я хочу запустить класс обработчика запросов каждого из моих уже реализованных серверов на основе URL входящего запроса.
Например: для запроса /api1
на моем новом сервере используйте Api1RequestHandler
и т. Д.
У вас есть идея, как мне это сделать? Могу ли я использовать экземпляр обработчика запросов нового сервера для вызова других обработчиков?
Это пример идеи:
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
class Api1Handler(BaseHTTPRequestHandler):
def do_GET(self):
print(self.headers)
class MyHandler(BaseHTTPRequestHandler):
def do_GET(self):
print(self.path)
my_handler2 = Api1Handler(self.request, self.client_address, self.server)
my_handler2.do_GET()
if __name__ == '__main__':
server = HTTPServer(('127.0.0.1', 8080), MyHandler)
try:
server.serve_forever()
except KeyboardInterrupt:
pass
server.server_close()