Merge pull request #36 from RepositPower/gunicorn-access-log

Just added a small patch to make the flask_sockets.worker play nicely with gunicorn's access-logformat
This commit is contained in:
2017-05-01 10:15:33 -04:00
committed by GitHub
2 changed files with 14 additions and 18 deletions
+13 -17
View File
@@ -4,29 +4,17 @@ from werkzeug.routing import Map, Rule
from werkzeug.exceptions import NotFound
def log_request(self):
log = self.server.log
if log:
if hasattr(log, 'info'):
log.info(self.format_request() + '\n')
else:
log.write(self.format_request() + '\n')
# Monkeys are made for freedom.
try:
import gevent
from geventwebsocket.gunicorn.workers import GeventWebSocketWorker as Worker
from geventwebsocket.handler import WebSocketHandler
from gunicorn.workers.ggevent import PyWSGIHandler
import gevent
except ImportError:
pass
if 'gevent' in locals():
# Freedom-Patch logger for Gunicorn.
if hasattr(gevent, 'pywsgi'):
gevent.pywsgi.WSGIHandler.log_request = log_request
class SocketMiddleware(object):
def __init__(self, wsgi_app, app, socket):
@@ -105,5 +93,13 @@ class Sockets(object):
# CLI sugar.
if 'Worker' in locals():
if ('Worker' in locals() and 'PyWSGIHandler' in locals() and
'gevent' in locals()):
class GunicornWebSocketHandler(PyWSGIHandler, WebSocketHandler):
def log_request(self):
if '101' not in self.status:
super(GunicornWebSocketHandler, self).log_request()
Worker.wsgi_handler = GunicornWebSocketHandler
worker = Worker
+1 -1
View File
@@ -11,7 +11,7 @@ from setuptools import setup
setup(
name='Flask-Sockets',
version='0.2.1',
version='0.2.1.1',
url='https://github.com/kennethreitz/flask-sockets',
license='See License',
author='Kenneth Reitz',