def get_raw_socket(cls, env): #pragma: no cover
sock = None
if env.get('uwsgi.version'):
try:
import uwsgi
fd = uwsgi.connection_fd()
sock = socket.fromfd(fd, socket.AF_INET, socket.SOCK_STREAM)
except Exception as e:
pass
elif env.get('gunicorn.socket'):
sock = env['gunicorn.socket']
if not sock:
# attempt to find socket from wsgi.input
input_ = env.get('wsgi.input')
if input_:
if hasattr(input_, '_sock'):
raw = input_._sock
sock = socket.socket(_sock=raw)
elif hasattr(input_, 'raw'):
sock = input_.raw._sock
elif hasattr(input_, 'rfile'):
# PY3
if hasattr(input_.rfile, 'raw'):
sock = input_.rfile.raw._sock
# PY2
else:
sock = input_.rfile._sock
return sock
# ============================================================================
评论列表
文章目录