From 700985f43078d4f9c79da0446a93e6c90d409a49 Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 20:43:20 +0300 Subject: Update API to give response --- src/APIv1.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/APIv1.py') diff --git a/src/APIv1.py b/src/APIv1.py index db8c4f3..882a13d 100644 --- a/src/APIv1.py +++ b/src/APIv1.py @@ -1,6 +1,6 @@ import random -from ssl import SSLSocket -from src.request import Request +from src.request import * +from src.status_code import * API_FILE_RANDOM_MIN_SIZE_LIMIT = 1 @@ -59,7 +59,7 @@ def decode_size(size: str) -> int: return size -def respond(client: SSLSocket, request: Request) -> tuple[int, bytes, dict]: +def api_call(client: SSLSocket, request: Request) -> Response: """ Respond to clients API request """ @@ -78,10 +78,10 @@ def respond(client: SSLSocket, request: Request) -> tuple[int, bytes, dict]: # check size if size < API_FILE_RANDOM_MIN_SIZE_LIMIT or size > API_FILE_RANDOM_MAX_SIZE_LIMIT: - return 400, b'', {} + return Response(b'', STATUS_CODE_BAD_REQUEST) - return 200, random_data_gen(size), {} + return Response(random_data_gen(size), STATUS_CODE_OK) else: - return 400, b'', {} + return Response(b'', STATUS_CODE_BAD_REQUEST) else: - return 400, b'', {} + return Response(b'', STATUS_CODE_BAD_REQUEST) -- cgit 1.4.1 From ac08c5e84153160f8221b30854a9b7029b8c3fe2 Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 21:09:31 +0300 Subject: Update API --- src/APIv1.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/APIv1.py') diff --git a/src/APIv1.py b/src/APIv1.py index 882a13d..c9ba2da 100644 --- a/src/APIv1.py +++ b/src/APIv1.py @@ -65,13 +65,11 @@ def api_call(client: SSLSocket, request: Request) -> Response: """ # decode API request - split_path = request.path.split("/") - api_level1 = split_path[2] - api_request = split_path[3] + split_path = request.path.split("/", maxsplit=16)[1:] # do something with it (oh god) - if api_level1 == "file": - if api_request == "random": + if len(split_path) > 1 and split_path[1] == "file": + if len(split_path) > 2 and split_path[2] == "random": # get size size_str = request.path_args.get("size", "16mib") size = decode_size(size_str) -- cgit 1.4.1 From e9f7ae54d64be673117e4cabe32badd01048bb69 Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 21:11:20 +0300 Subject: Update API and response class --- src/APIv1.py | 2 +- src/request.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/APIv1.py') diff --git a/src/APIv1.py b/src/APIv1.py index c9ba2da..f163c5b 100644 --- a/src/APIv1.py +++ b/src/APIv1.py @@ -78,7 +78,7 @@ def api_call(client: SSLSocket, request: Request) -> Response: if size < API_FILE_RANDOM_MIN_SIZE_LIMIT or size > API_FILE_RANDOM_MAX_SIZE_LIMIT: return Response(b'', STATUS_CODE_BAD_REQUEST) - return Response(random_data_gen(size), STATUS_CODE_OK) + return Response(random_data_gen(size), STATUS_CODE_OK, compress=False) else: return Response(b'', STATUS_CODE_BAD_REQUEST) else: diff --git a/src/request.py b/src/request.py index 28d7c14..df0d433 100644 --- a/src/request.py +++ b/src/request.py @@ -72,4 +72,4 @@ class Response: self.data: bytes = data self.status: StatusCode = status self.headers: dict[str, Any] = headers if headers is not None else dict() - self.compress: bool = kwargs.get("compress", False) + self.compress: bool = kwargs.get("compress", True) -- cgit 1.4.1