Пример #1
0
    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)()
Пример #2
0
 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)
Пример #3
0
    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
Пример #4
0
    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