diff --git a/gluon/packages/dal b/gluon/packages/dal index 598b2e99..0515e3b3 160000 --- a/gluon/packages/dal +++ b/gluon/packages/dal @@ -1 +1 @@ -Subproject commit 598b2e999f4e32af71f4deb90ced21e5a40c5f9c +Subproject commit 0515e3b392532075a4de818429189e8daac59ea4 diff --git a/gluon/rocket.py b/gluon/rocket.py index ef114bb4..6122e35c 100644 --- a/gluon/rocket.py +++ b/gluon/rocket.py @@ -1870,3 +1870,46 @@ class WSGIWorker(Worker): sock_file.close() # Monolithic build...end of module: rocket/methods/wsgi.py +def demo_app(environ, start_response): + global static_folder + import os + types = {'htm': 'text/html','html': 'text/html','gif': 'image/gif', + 'jpg': 'image/jpeg','png': 'image/png','pdf': 'applications/pdf'} + if static_folder: + if not static_folder.startswith('/'): + static_folder = os.path.join(os.getcwd(),static_folder) + path = os.path.join(static_folder, environ['PATH_INFO'][1:] or 'index.html') + type = types.get(path.split('.')[-1],'text') + if os.path.exists(path): + try: + data = open(path,'rb').read() + start_response('200 OK', [('Content-Type', type)]) + except IOError: + start_response('404 NOT FOUND', []) + data = '404 NOT FOUND' + else: + start_response('500 INTERNAL SERVER ERROR', []) + data = '500 INTERNAL SERVER ERROR' + else: + start_response('200 OK', [('Content-Type', 'text/html')]) + data = '