Skip to content
Snippets Groups Projects
Commit 7564d104 authored by Anders B. Clausen's avatar Anders B. Clausen
Browse files

Now parsing request as a dict - code is much cleaner

parent 82eb2a84
No related branches found
No related tags found
2 merge requests!29Release of Prototype,!12Added Docker-compose with Python server and nginx - working. /persistence/...
......@@ -21,10 +21,7 @@ class MyServer(BaseHTTPRequestHandler):
self.send_header('Content-type', 'text/html')
self.end_headers()
def handle_load_layout(self, payload):
# remove 'id=' from payload string
id = payload[3:]
def handle_load_layout(self, id):
if id in db:
self._set_ok_headers()
self.wfile.write(bytes(db[id], 'utf-8'))
......@@ -32,35 +29,22 @@ class MyServer(BaseHTTPRequestHandler):
self._set_err_headers()
self.wfile.write(bytes('Error: Could not find id ' + str(id), 'utf-8'))
def handle_save_layout(self, payload):
id, data = payload.split('&')
# remove 'id=' from string
id = id[3:]
# remove 'data=' from string
data = data[5:]
# fix format from HTTP-request
data = data.replace('%22', '"')
db[id] = data
def handle_save_layout(self, id, data):
db[id] = data.replace('%22', '"')
self._set_ok_headers()
def do_GET(self):
# remove '/?' from path string
payload = self.path[2:]
# remove '/?' from path
query = self.path[2:]
fields = dict(f.split("=") for f in query.split("&"))
print(fields)
if payload.startswith('type=load'):
# remove 'type=load&' from path string
content = payload[10:]
self.handle_load_layout(content)
if fields['type'] == "load":
self.handle_load_layout(fields['id'])
elif payload.startswith('type=save'):
# remove 'type=save&' from path string
content = payload[10:]
self.handle_save_layout(content)
elif fields['type'] == "save":
self.handle_save_layout(fields['id'], fields['data'])
else:
self._set_err_headers()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment