diff --git a/private_dot_local/bin/pyserver.py b/private_dot_local/bin/pyserver.py index db83b20..f198bbc 100644 --- a/private_dot_local/bin/pyserver.py +++ b/private_dot_local/bin/pyserver.py @@ -28,10 +28,21 @@ class S(BaseHTTPRequestHandler): self.wfile.write(build_json_message("GET request for " + self.path)) def do_POST(self): - content_length = int(self.headers['Content-Length']) # <--- Gets the size of data - post_data = self.rfile.read(content_length) # <--- Gets the data itself - logging.info("\nPOST %s\nHeaders:\n%s\nBody:\n%s\n", - str(self.path), str(self.headers), post_data.decode('utf-8')) + content_length = int(self.headers['Content-Length']) # <--- Obtient la taille des données + post_data = self.rfile.read(content_length) # <--- Lit les données elles-mêmes + + # Affiche la longueur du contenu dans les logs + logging.info("\nPOST %s\nHeaders:\n%s\nContent-Length: %d\n", + str(self.path), str(self.headers), content_length) + + try: + # Essaye de décoder les données en UTF-8 + body = post_data.decode('utf-8') + except UnicodeDecodeError: + # Si le décodage échoue, journalise une erreur informative + body = "" + logging.info("Body:\n%s\n", body) + self._build_ok_response() def do_PUT(self):