Skip to content
This repository was archived by the owner on Apr 29, 2022. It is now read-only.

Commit 1d06b1e

Browse files
author
Kenneth Reitz
committed
freedom patches
1 parent 6154ea6 commit 1d06b1e

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

flask_sockets.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
11
# -*- coding: utf-8 -*-
22

3+
def log_request(self):
4+
log = self.server.log
5+
if log:
6+
if hasattr(log, 'info'):
7+
log.info(self.format_request() + '\n')
8+
else:
9+
log.write(self.format_request() + '\n')
10+
11+
12+
# Monkeys are made for freedom.
313
try:
414
import gevent
515
from geventwebsocket.gunicorn.workers import GeventWebSocketWorker as Worker
616
except ImportError:
7-
# Don't fail, in case someone is using somethign else that provides
8-
# "wsgi.websocket".
917
pass
1018

19+
if 'gevent' in locals():
20+
# Freedom-Patch logger for Gunicorn.
21+
if hasattr(gevent, 'pywsgi'):
22+
gevent.pywsgi.WSGIHandler.log_request = log_request
1123

12-
def log_request(self):
13-
log = self.server.log
14-
if log:
15-
write = log.info if hasattr(log, 'info') else log.write
16-
write(self.format_request() + '\n')
1724

1825

1926
class SocketMiddleware(object):
@@ -36,18 +43,12 @@ def __call__(self, environ, start_response):
3643

3744
class Sockets(object):
3845

39-
def __init__(self, app=None, patch=True):
46+
def __init__(self, app=None):
4047
self.url_map = {}
4148
if app:
42-
self.init_app(app, patch=patch)
43-
44-
def init_app(self, app, patch=True):
45-
if patch:
46-
# Monkey-patch log_request handler for Gevent/Gunicorn compatability.
47-
if 'gevent' in locals():
48-
if hasattr(gevent, 'pywsgi'):
49-
gevent.pywsgi.WSGIHandler.log_request = log_request
49+
self.init_app(app)
5050

51+
def init_app(self, app):
5152
app.wsgi_app = SocketMiddleware(app.wsgi_app, self)
5253

5354
def route(self, rule, **options):

0 commit comments

Comments
 (0)