Fix ip and socket data format on V6
This commit is contained in:
parent
10a378bd46
commit
48c2dcb110
|
@ -1,5 +1,6 @@
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import socket
|
||||||
from cgi import parse_header
|
from cgi import parse_header
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from http.cookies import SimpleCookie
|
from http.cookies import SimpleCookie
|
||||||
|
@ -185,9 +186,18 @@ class Request(dict):
|
||||||
return self._socket
|
return self._socket
|
||||||
|
|
||||||
def _get_address(self):
|
def _get_address(self):
|
||||||
self._socket = (self.transport.get_extra_info('peername') or
|
sock = self.transport.get_extra_info('socket')
|
||||||
(None, None))
|
|
||||||
self._ip, self._port = self._socket
|
if sock.family == socket.AF_INET:
|
||||||
|
self._socket = (self.transport.get_extra_info('peername') or
|
||||||
|
(None, None))
|
||||||
|
self._ip, self._port = self._socket
|
||||||
|
elif sock.family == socket.AF_INET6:
|
||||||
|
self._socket = (self.transport.get_extra_info('peername') or
|
||||||
|
(None, None, None, None))
|
||||||
|
self._ip, self._port, *_ = self._socket
|
||||||
|
else:
|
||||||
|
self._ip, self._port = (None, None)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def remote_addr(self):
|
def remote_addr(self):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user