def requestFromBytes(data: bytes = b"") -> FrozenHTTPRequest: return FrozenHTTPRequest( method="GET", uri=DecodedURL.fromText("https://twistedmatrix.com/"), headers=FrozenHTTPHeaders(rawHeaders=()), body=data, )
def uri(self): # type: () -> DecodedURL request = self._request # This code borrows from t.w.server.Request._prePathURL. if request.isSecure(): scheme = u"https" else: scheme = u"http" netloc = nativeString(request.getRequestHostname()) port = request.getHost().port if request.isSecure(): default = 443 else: default = 80 if port != default: netloc += u":{}".format(port) path = nativeString(request.uri) if path and path[0] == u"/": path = path[1:] return DecodedURL.fromText(u"{}://{}/{}".format(scheme, netloc, path))
def uri(self) -> DecodedURL: request = self._request # This code borrows from t.w.server.Request._prePathURL. if request.isSecure(): scheme = "https" else: scheme = "http" netloc = nativeString(request.getRequestHostname()) port = request.getHost().port if request.isSecure(): default = 443 else: default = 80 if port != default: netloc += f":{port}" path = nativeString(request.uri) if path and path[0] == "/": path = path[1:] return DecodedURL.fromText(f"{scheme}://{netloc}/{path}")
def test_initInvalidBodyType(self) -> None: """ L{FrozenHTTPRequest} raises L{TypeError} when given a body of an unknown type. """ e = self.assertRaises( TypeError, FrozenHTTPRequest, method="GET", uri=DecodedURL.fromText("https://twistedmatrix.com/"), headers=FrozenHTTPHeaders(rawHeaders=()), body=object(), ) self.assertEqual(str(e), "body must be bytes or IFount")
def urlFromRequest(request: IRequest) -> DecodedURL: sentHeader = request.getHeader(b"host") if sentHeader is not None: sentHeader = sentHeader.decode("charmap") if ":" in sentHeader: host, port = sentHeader.split(":") port = int(port) else: host = sentHeader port = None else: host = request.client.host port = request.client.port url = DecodedURL.fromText(request.uri.decode("charmap")) url = url.replace( scheme="https" if request.isSecure() else "http", host=host, port=port, ) return url
def urlFromRequest(request): # type: (IRequest) -> DecodedURL sentHeader = request.getHeader(b"host") if sentHeader is not None: sentHeader = sentHeader.decode("charmap") if ":" in sentHeader: host, port = sentHeader.split(":") port = int(port) else: host = sentHeader port = None else: host = request.client.host port = request.client.port if not isinstance(host, text_type): host = host.decode("ascii") url = DecodedURL.fromText(request.uri.decode("charmap")) url = url.replace( scheme=u"https" if request.isSecure() else u"http", host=host, port=port, ) return url