diff --git a/src/bank_node/bank_worker.py b/src/bank_node/bank_worker.py index c09e60a..a70b0d9 100644 --- a/src/bank_node/bank_worker.py +++ b/src/bank_node/bank_worker.py @@ -61,6 +61,11 @@ class BankWorker(multiprocessing.Process): self.client_socket.shutdown(socket.SHUT_RDWR) self.client_socket.close() break + except UnicodeDecodeError: + self.logger.warning("Received a non utf-8 message") + response = "ER Not utf-8 message" + self.client_socket.sendall(response.encode("utf-8")) + break except BankNodeError as e: response = "ER " + e.message + "\n\r" self.client_socket.sendall(response.encode("utf-8")) diff --git a/src/bank_protocol/commands/account_deposit_command.py b/src/bank_protocol/commands/account_deposit_command.py index 78a2de8..6716bbf 100644 --- a/src/bank_protocol/commands/account_deposit_command.py +++ b/src/bank_protocol/commands/account_deposit_command.py @@ -5,6 +5,9 @@ from utils.constants import MONEY_AMOUNT_MAXIMUM def account_deposit(request: Request, config: BankNodeConfig): + if request.body is None: + raise InvalidRequest("Invalid request format") + try: split_body = request.body.split("/") split_ip = split_body[1].split(" ")