aboutsummaryrefslogtreecommitdiffstats
path: root/__init__.py
blob: e080959d72a009565b8d4e1a33b0f54234d2fee6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from flask import Flask, request, abort
from urlparse import urlsplit, urlunsplit, parse_qs
from urllib import urlencode
from process import send_process
import os.path

app = Flask(__name__)

@app.route("/", defaults={"path": ""})
@app.route("/<path:path>")
def render(path):
	url = request.headers.get("x-se-original-url")
	if url is None:
		abort(404)
	url = urlsplit(url, allow_fragments=False)
	query = parse_qs(url.query)
	fragment = ""
	if "_escaped_fragment_" in query:
		fragment = "!" + query["_escaped_fragment_"][0]
		del query["_escaped_fragment_"]
	url = urlunsplit((url.scheme, url.netloc, url.path, urlencode(query), fragment))

	return send_process([ "phantomjs", "--load-images=false", os.path.join(os.path.dirname(os.path.abspath(__file__)), "driver.js"), url ])

if __name__ == '__main__':
	app.run()