Merge pull request #309 from pdvyas/static-middleware

Fixes to WSGI application callable
This commit is contained in:
Anand Doshi 2013-11-30 23:21:47 -08:00
commit f4e73066e1

View file

@ -20,6 +20,19 @@ import webnotes.webutils
local_manager = LocalManager([webnotes.local])
def handle_session_stopped():
res = Response("""<html>
<body style="background-color: #EEE;">
<h3 style="width: 900px; background-color: #FFF; border: 2px solid #AAA; padding: 20px; font-family: Arial; margin: 20px auto">
Updating.
We will be back in a few moments...
</h3>
</body>
</html>""")
res.status_code = 503
res.content_type = 'text/html'
return res
@Request.application
def application(request):
webnotes.local.request = request
@ -46,25 +59,29 @@ def application(request):
except HTTPException, e:
return e
except webnotes.SessionStopped, e:
webnotes.local._response = handle_session_stopped()
finally:
if webnotes.conn:
webnotes.conn.close()
return webnotes._response
return webnotes.local._response
application = local_manager.make_middleware(application)
application = StaticDataMiddleware(application, {
'/': 'public',
})
if not os.environ.get('NO_STATICS'):
application = StaticDataMiddleware(application, {
'/': 'public',
})
def serve(port=8000, profile=False):
webnotes.validate_versions()
global application
from werkzeug.serving import run_simple
if profile:
application = ProfilerMiddleware(application)
run_simple('0.0.0.0', int(port), application, use_reloader=True,
use_debugger=True, use_evalex=True)