def _handle_request(self): """ обработка запроса от клиента :return: данные для клиента """ path = self._request.path() method = self._request.method func_name = Flask._ROUTE_MAP.get((path, method)) if not func_name: raise HTTPError(404, 'Not found') bl_module = importlib.import_module(Flask._HANDLE_MODULE_PATH) getattr(bl_module, func_name)()
def _parse_request(self, conn): """ разбор запроса от клиента :param conn: сокет :return: объект запроса """ self._rfile = conn.makefile('rb') method, target, ver = self._parse_request_line() headers = self._parse_headers() host = headers.get('Host') if not host: raise Exception('Bad request') if host not in (self.server_name, f'{self.server_name}:{self.port}'): raise HTTPError(404, 'Not found') self._request.set_data(method, target, ver, headers, self._rfile)
def _parse_request(conn): """ разбор запроса от клиента :param conn: сокет :return: объект запроса """ _rfile = conn.makefile('rb') method, target, ver = HTTPServer._parse_request_line(_rfile) headers = HTTPServer._parse_headers(_rfile) host = headers.get('Host') if not host: raise Exception('Bad request') if host not in (HTTPServer.server_name, f'{HTTPServer.server_name}:{HTTPServer.port}'): raise HTTPError(404, 'Not found') _request = Request() _request.set_data(method, target, ver, headers, _rfile) return _request
async def _parse_request(self, reader): """ разбор запроса от клиента :param conn: сокет :return: объект запроса """ _rfile = reader method, target, ver = await self._parse_request_line(_rfile) headers = await self._parse_headers(_rfile) host = headers.get('Host') if not host: raise Exception('Bad request') if host not in (self.server_name, f'{self.server_name}:{self.port}'): raise HTTPError(404, 'Not found') _request = Request() _request.set_data(method, target, ver, headers, _rfile) return _request