Esempio n. 1
0
 def ip_from_request(self, request: Request) -> Optional[str]:
     if self.config.http.obey_x_forwarded_for and request.requestHeaders.hasHeader(
         "X-Forwarded-For"
     ):
         # Type safety: hasHeaders returning True means that getRawHeaders
         # returns a nonempty list
         return request.requestHeaders.getRawHeaders("X-Forwarded-For")[0]  # type: ignore[index]
     client = request.getClientAddress()
     if isinstance(client, (address.IPv4Address, address.IPv6Address)):
         return client.host
     else:
         return None