Last active
June 6, 2016 15:25
-
-
Save whosaysni/5bfeec359733b4edbec0d2cc50ffd3ce to your computer and use it in GitHub Desktop.
bug brain httpd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
"""memoserv | |
使い方 | |
起動すると、ローカルホストのポート8000で待ち受けます。 | |
POST すると、サーバに値が保存されます。 | |
GET すると、保存されていた値を返し、消去します。 | |
""" | |
from BaseHTTPServer import HTTPServer as Hs, BaseHTTPRequestHandler as Hr | |
from cgi import FieldStorage | |
from json import dumps | |
class Handler(Hr): | |
memo = {} | |
def do_GET(self): | |
self.send_response(200) | |
self.end_headers() | |
self.wfile.write(dumps(self.memo)+'\n') | |
self.wfile.close() | |
self.memo.clear() | |
def do_POST(self): | |
form = FieldStorage(fp=self.rfile, headers=self.headers, | |
environ={"REQUEST_METHOD": "POST"}) | |
self.memo.update((item.name, item.value) for item in form.list) | |
self.send_response(200) | |
self.end_headers() | |
self.wfile.write('Received: %s\n' % dumps(self.memo)) | |
self.wfile.close() | |
httpd = Hs(('', 8000), Handler) | |
while True: | |
httpd.handle_request() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment