Skip to content
This repository was archived by the owner on Nov 5, 2025. It is now read-only.

Commit d1abc63

Browse files
committed
fix: fix binary mode
1 parent 29e3e03 commit d1abc63

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

backend/src/modules/random_generator/repository.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def generate_binary_sequence(self, length: int) -> str:
3737
return "".join(self._rng.choice("01") for _ in range(length))
3838

3939
def generate_bits(self, length: int) -> bytes:
40-
return self._rng.getrandbits(length).to_bytes(length, "big")
40+
return self._rng.getrandbits(length).to_bytes((length + 7) // 8, "big")
4141

4242

4343
class RandomGeneratorRepository:

backend/src/modules/random_generator/routes.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,15 @@ async def file_binary(
8181
random_generator = random_repository.generator(seed_info.seed_bytes)
8282
if mode == FileOutputMode.ZERO_ONES:
8383
filename = f"zero_ones_{length}_{seed_info.seed_hex[:16]}.txt"
84+
media_type = "text/plain"
8485
content = random_generator.generate_binary_sequence(length)
8586
elif mode == FileOutputMode.BINARY:
8687
filename = f"binary_{length}_{seed_info.seed_hex[:16]}.bin"
88+
media_type = "application/octet-stream"
8789
content = random_generator.generate_bits(length)
8890
elif mode == FileOutputMode.NUMBERS_SEPARATED_BY_COMMAS:
8991
filename = f"numbers_{length}_{seed_info.seed_hex[:16]}.txt"
92+
media_type = "text/plain"
9093
content = ",".join(str(random_generator.generate_random_number(0, 100)) for _ in range(length))
9194
else:
9295
raise HTTPException(status_code=400, detail="Invalid mode")
@@ -98,5 +101,5 @@ async def file_binary(
98101
return Response(
99102
content=content,
100103
headers=headers,
101-
media_type="text/plain",
104+
media_type=media_type,
102105
)

0 commit comments

Comments
 (0)