| OLD | NEW | 
|   1 #!/usr/bin/env python |   1 #!/usr/bin/env python | 
|   2 # coding: utf-8 |   2 # coding: utf-8 | 
|   3  |   3  | 
|   4 # This file is part of the Adblock Plus web scripts, |   4 # This file is part of the Adblock Plus web scripts, | 
|   5 # Copyright (C) 2006-2014 Eyeo GmbH |   5 # Copyright (C) 2006-2014 Eyeo GmbH | 
|   6 # |   6 # | 
|   7 # Adblock Plus is free software: you can redistribute it and/or modify |   7 # Adblock Plus is free software: you can redistribute it and/or modify | 
|   8 # it under the terms of the GNU General Public License version 3 as |   8 # it under the terms of the GNU General Public License version 3 as | 
|   9 # published by the Free Software Foundation. |   9 # published by the Free Software Foundation. | 
|  10 # |  10 # | 
|  11 # Adblock Plus is distributed in the hope that it will be useful, |  11 # Adblock Plus is distributed in the hope that it will be useful, | 
|  12 # but WITHOUT ANY WARRANTY; without even the implied warranty of |  12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  14 # GNU General Public License for more details. |  14 # GNU General Public License for more details. | 
|  15 # |  15 # | 
|  16 # You should have received a copy of the GNU General Public License |  16 # You should have received a copy of the GNU General Public License | 
|  17 # along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. |  17 # along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
|  18  |  18  | 
 |  19 import re | 
|  19 import flask |  20 import flask | 
|  20 from sitescripts.web import handlers |  21 from sitescripts.web import handlers | 
|  21 from urlparse import urlparse |  22 from urlparse import urlparse | 
|  22  |  23  | 
|  23 app = flask.Flask(__name__) |  24 app = flask.Flask(__name__) | 
|  24  |  25  | 
|  25 @app.route("/<path:path>", methods = ["GET", "POST"]) |  26 @app.route("/<path:path>", methods = ["GET", "POST"]) | 
|  26 def multiplex(path): |  27 def multiplex(path): | 
|  27   request_url = urlparse(flask.request.url) |  28   request_url = urlparse(flask.request.url) | 
 |  29   if 'SERVER_ADDR' not in flask.request.environ: | 
 |  30     flask.request.environ['SERVER_ADDR'] = flask.request.environ['SERVER_NAME'] | 
 |  31   if 'REQUEST_URI' not in flask.request.environ: | 
 |  32     flask.request.environ['REQUEST_URI'] = flask.request.url | 
 |  33  | 
|  28   request_path = request_url.path |  34   request_path = request_url.path | 
|  29   if request_path in handlers: |  35   if request_path in handlers: | 
|  30     if 'SERVER_ADDR' not in flask.request.environ: |  | 
|  31       flask.request.environ['SERVER_ADDR'] = flask.request.environ['SERVER_NAME'
    ] |  | 
|  32     return handlers[request_path] |  36     return handlers[request_path] | 
 |  37   request_dir = re.sub(r'[^/]+$', '', request_path) | 
 |  38   if request_dir in handlers: | 
 |  39     return handlers[request_dir] | 
|  33   return flask.abort(404) |  40   return flask.abort(404) | 
|  34  |  41  | 
|  35 if __name__ == "__main__": |  42 if __name__ == "__main__": | 
|  36   app.run(debug=True) |  43   app.run(debug=True) | 
| OLD | NEW |