45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from BaseHTTPServer import BaseHTTPRequestHandler
|
|
import urlparse, json
|
|
|
|
class GetHandler(BaseHTTPRequestHandler):
|
|
|
|
def do_GET(self):
|
|
parsed_path = urlparse.urlparse(self.path)
|
|
message = '\n'.join([
|
|
'client_address=%s (%s)' % (self.client_address,
|
|
self.address_string()),
|
|
'command=%s' % self.command,
|
|
'path=%s' % self.path,
|
|
'real path=%s' % parsed_path.path,
|
|
'query=%s' % parsed_path.query,
|
|
'request_version=%s' % self.request_version,
|
|
'headers=%s' % self.headers,
|
|
'',
|
|
'server_version=%s' % self.server_version,
|
|
'sys_version=%s' % self.sys_version,
|
|
'protocol_version=%s' % self.protocol_version,
|
|
'',
|
|
])
|
|
self.send_response(200)
|
|
self.end_headers()
|
|
self.wfile.write(message)
|
|
return
|
|
|
|
def do_POST(self):
|
|
content_len = int(self.headers.getheader('content-length'))
|
|
post_body = self.rfile.read(content_len)
|
|
self.send_response(200)
|
|
self.end_headers()
|
|
|
|
data = json.loads(post_body)
|
|
|
|
self.wfile.write(data['foo'])
|
|
return
|
|
|
|
if __name__ == '__main__':
|
|
from BaseHTTPServer import HTTPServer
|
|
port = 8081
|
|
server = HTTPServer(('localhost', port), GetHandler)
|
|
print 'Starting server at http://localhost:{}'.format(port)
|
|
server.serve_forever()
|