Skip to content

Instantly share code, notes, and snippets.

@roughy
Created March 23, 2016 16:03
Show Gist options
  • Save roughy/157036bed7d4ead34113 to your computer and use it in GitHub Desktop.
Save roughy/157036bed7d4ead34113 to your computer and use it in GitHub Desktop.
Start a simple Python Http server to handle requests for test purposes.
# run with $> python SimpleRequestHandler.py 8081
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import BaseHTTPRequestHandler
import json, sys
port = 8080
if len(sys.argv) == 2:
port = int(sys.argv[1])
response = {
"name": "Marco Reinwarth",
"token": "FGATRKURZGFD",
"expires_in": 12345
}
class SimpleRequestHandler (BaseHTTPRequestHandler) :
def do_GET(self) :
if self.path == "/user/marco" :
#send response code:
self.send_response(200)
#send headers:
self.send_header("Content-Type", "application/json;charset=UTF-8")
# send a blank line to end headers:
self.wfile.write("\n")
#send response:
json.dump(response, self.wfile)
def do_POST(self) :
if self.path == "/user" :
origin = self.headers.get('origin')
#send response code:
self.send_response(201)
#send headers:
self.send_header("Content-Type", "application/json;charset=UTF-8")
self.send_header("Access-Control-Allow-Origin", origin)
self.send_header("Access-Control-Allow-Methods", "GET, POST")
self.send_header("Access-Control-Allow-Headers", "Content-Type")
# send a blank line to end headers:
self.wfile.write("\n")
#send response:
json.dump({}, self.wfile)
def do_OPTIONS(self) :
origin = self.headers.get('origin')
self.send_response(200)
self.send_header("Access-Control-Allow-Origin", origin)
self.send_header("Access-Control-Allow-Methods", "GET, POST")
self.send_header("Access-Control-Allow-Headers", "Content-Type")
self.wfile.write("\n")
server = HTTPServer(("localhost", port), SimpleRequestHandler)
server.serve_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment