| ... | ... |
@@ -20,13 +20,19 @@ class Handler(http.server.SimpleHTTPRequestHandler): |
| 20 | 20 |
super().__init__(*args, **kwargs, directory=PUBLIC) |
| 21 | 21 |
|
| 22 | 22 |
def do_POST(self): |
| 23 |
- length = int(self.headers["Content-Length"]) |
|
| 24 |
- ext = str(self.headers["Content-Type"]).split("/")[1]
|
|
| 25 |
- base = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S_%f")
|
|
| 26 |
- name = f"{CAMERA}/{base}.{ext}"
|
|
| 27 |
- self.log_message("Receiving '%s'", name)
|
|
| 28 |
- with open(name, "wb") as f: |
|
| 29 |
- f.write(self.rfile.read(length)) |
|
| 23 |
+ try: |
|
| 24 |
+ length = int(self.headers["Content-Length"]) |
|
| 25 |
+ ext = str(self.headers["Content-Type"]).split("/")[1]
|
|
| 26 |
+ except: |
|
| 27 |
+ return self.send_error(400) |
|
| 28 |
+ try: |
|
| 29 |
+ base = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S_%f")
|
|
| 30 |
+ name = f"{CAMERA}/{base}.{ext}"
|
|
| 31 |
+ self.log_message("Receiving '%s'", name)
|
|
| 32 |
+ with open(name, "wb") as f: |
|
| 33 |
+ f.write(self.rfile.read(length)) |
|
| 34 |
+ except: |
|
| 35 |
+ return self.send_error(500) |
|
| 30 | 36 |
self.send_response(200, name) |
| 31 | 37 |
self.end_headers() |
| 32 | 38 |
|