summaryrefslogtreecommitdiff
path: root/cgi-bin/proxy
blob: 801e0f2e6c89eb0db0379a181d8b98fab1ffdfe9 (plain)
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
27
28
29
30
31
32
33
34
#!/usr/bin/python

from os import environ as env
import urllib.request
import json
import sys

def error():
  print("Content-type: text/html")
  print()
  print("HELLO!")

def proxy(url,ext,callback):
  req = urllib.request.urlopen(url)
  print("Content-type: image/" + ext)
  print()
  sys.stdout.flush()
  if callback:
  	sys.stdout.buffer.write( callback + "('" )
		sys.stdout.buffer.write( json.dump({ data: req.read() })
  	sys.stdout.buffer.write( callback + "')" )
  else:
		sys.stdout.buffer.write( req.read() )

qs = env['QUERY_STRING'].split('&callback=')
path = qs[0]
callback = qs[1]
ext = path[-3:].lower()

if path[0:4] == "http" and ext in ("gif","jpg","png","peg"):
  proxy(path,ext,callback)
else:
  error()