def get_port(self): value = self.get_json_argument('port') if not value: return DEFAULT_PORT port = to_int(value) if port is None or not is_valid_port(port): raise InvalidValueError('Invalid port: {}'.format(value)) return port
def get_real_client_addr(self): ip = self.request.remote_ip if ip == self.request.headers.get('X-Real-Ip'): port = self.request.headers.get('X-Real-Port') elif ip in self.request.headers.get('X-Forwarded-For', ''): port = self.request.headers.get('X-Forwarded-Port') else: # not running behind an nginx server return port = to_int(port) if port is None or not is_valid_port(port): # fake port port = 65535 return (ip, port)
def get_real_client_addr(self, xffirst=False): ip = self.request.remote_ip if ip == self.request.headers.get('X-Real-Ip'): port = self.request.headers.get('X-Real-Port') else: ips = self.request.headers.get('X-Forwarded-For', '') if not ips: return if not xffirst: if ip not in ips: return else: ip = ips.split(',')[0].strip() if not netutil.is_valid_ip(ip): return port = self.request.headers.get('X-Forwarded-Port') port = to_int(port) if port is None or not is_valid_port(port): # fake port port = 65535 return (ip, port)
def test_to_int(self): self.assertEqual(to_int(''), None) self.assertEqual(to_int(None), None) self.assertEqual(to_int('22'), 22) self.assertEqual(to_int(' 22 '), 22)