diff options
| author | Qubik <89706156+UltraQbik@users.noreply.github.com> | 2024-08-23 20:27:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-23 20:27:27 +0200 |
| commit | 9aca00d7265b9d05f908b4201a03b7b0808c5ca1 (patch) | |
| tree | 47346be37cc68fc18aa8e5603eef58a48d9b2e04 /src/APIv1.py | |
| parent | a96b13f6816ca0657d9f65097b97d0e87e1a0366 (diff) | |
| parent | fd8c46cac1c914851613cac425d2afe68d360d9d (diff) | |
| download | httpy-9aca00d7265b9d05f908b4201a03b7b0808c5ca1.tar.gz httpy-9aca00d7265b9d05f908b4201a03b7b0808c5ca1.zip | |
Merge pull request #2 from UltraQbik/threading-rewrite
Threading rewrite
Diffstat (limited to 'src/APIv1.py')
| -rw-r--r-- | src/APIv1.py | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/APIv1.py b/src/APIv1.py index db8c4f3..f163c5b 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,29 +59,27 @@ 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 """ # 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) # 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, compress=False) else: - return 400, b'', {} + return Response(b'', STATUS_CODE_BAD_REQUEST) else: - return 400, b'', {} + return Response(b'', STATUS_CODE_BAD_REQUEST) |