mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-27 14:07:03 +00:00
This commit adds a manual testing application for checking Cross-origin behaviour in different browsers. A README file included in this application provides details on how to run the tests.
44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
import SimpleHTTPServer
|
|
import SocketServer
|
|
import logging
|
|
import cgi
|
|
|
|
logging.basicConfig(level=logging.INFO)
|
|
PORT = 8001
|
|
|
|
class ServerHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
|
|
|
def end_headers (self):
|
|
self.send_header('Set-Cookie', 'mycookie=cappuccino!')
|
|
self.send_header('Access-Control-Allow-Origin', 'http://142.157.142.237:8000')
|
|
self.send_header('Access-Control-Allow-Methods', 'GET, OPTIONS')
|
|
self.send_header("Access-Control-Allow-Headers", "X-Requested-With, If-Modified-Since, Cache-Control, Pragma")
|
|
self.send_header('Access-Control-Allow-Credentials', 'true')
|
|
SimpleHTTPServer.SimpleHTTPRequestHandler.end_headers(self)
|
|
|
|
def do_OPTIONS(self):
|
|
logging.info("OPTIONS Request")
|
|
self.send_response(204, "No Content")
|
|
self.send_header('Access-Control-Allow-Origin', 'http://142.157.142.237:8000')
|
|
self.send_header('Access-Control-Allow-Methods', 'GET, OPTIONS')
|
|
self.send_header("Access-Control-Allow-Headers", "X-Requested-With, If-Modified-Since, Cache-Control, Pragma")
|
|
self.send_header('Access-Control-Allow-Credentials', 'true')
|
|
self.send_header("Access-Control-Max-Age", 10)
|
|
self.send_header("content-length", 0)
|
|
|
|
def do_GET(self):
|
|
try:
|
|
self.headers['Cookie']
|
|
logging.info("CORS: With Credentials")
|
|
logging.info(self.headers['Cookie'])
|
|
except KeyError, e:
|
|
logging.info("CORS: No Credentials")
|
|
SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self)
|
|
|
|
Handler = ServerHandler
|
|
|
|
SocketServer.TCPServer.allow_reuse_address = True
|
|
httpd = SocketServer.TCPServer(("0.0.0.0", PORT), Handler)
|
|
|
|
print "serving at port", PORT
|
|
httpd.serve_forever() |