Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
5527ef90e6 | |||
8c07d87efa | |||
1d0ef1535f |
@@ -43,6 +43,7 @@ pip install aiofiles
|
||||
|
||||
- `<ADDR>` - адрес клиента
|
||||
- `<FILE>` - файл / директория, к которой запрашивается доступ
|
||||
- `<TIME>` - время, когда был выполнен запрос
|
||||
|
||||
## шаблоны
|
||||
|
||||
@@ -63,7 +64,7 @@ pip install aiofiles
|
||||
|
||||
## preset.html
|
||||
|
||||
обычный html документ, являющийся шаблоном для листинга каталога
|
||||
обычный html документ, являющийся шаблоном для листинга каталога. если в директории будет находиться preset.html, сервер будет использовать именно его. в противном случае - тот, который указан в конфиге.
|
||||
|
||||
### теги пресета
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
name="debweb 1.2.0"
|
||||
name="debweb 1.2.2"
|
||||
proxied=False
|
||||
|
||||
addr="localhost"
|
||||
|
9
main.py
9
main.py
@@ -21,6 +21,7 @@ class WebServer:
|
||||
async def log(self, text: str, addr: tuple=None, file: str=None) -> None:
|
||||
text = text.replace("<ADDR>", f"{addr[0]}:{addr[1]}" if addr else "")
|
||||
text = text.replace("<FILE>", file if file else "")
|
||||
text = text.replace("<TIME>", datetime.datetime.now().strftime(config.time_format))
|
||||
|
||||
if config.log_file:
|
||||
async with aiofiles.open(config.log_file, mode="a") as file:
|
||||
@@ -108,7 +109,11 @@ class WebServer:
|
||||
|
||||
elif os.path.isdir(file_path):
|
||||
resp = ""
|
||||
async with aiofiles.open(config.preset_file, "r", encoding="utf-8") as f:
|
||||
if os.path.isfile(os.path.join(file_path, "preset.html")):
|
||||
preset_file = os.path.join(file_path, "preset.html")
|
||||
else:
|
||||
preset_file = config.preset_file
|
||||
async with aiofiles.open(preset_file, "r", encoding="utf-8") as f:
|
||||
resp = await f.read()
|
||||
|
||||
files = ""
|
||||
@@ -159,7 +164,7 @@ class WebServer:
|
||||
|
||||
|
||||
else:
|
||||
await self.log(config.err_msgs[404], addr, config.err_files[404])
|
||||
await self.log(config.err_msgs[404], addr, file_path)
|
||||
file_size = os.path.getsize(config.err_files[404])
|
||||
await self.send_headers(writer, 404, file_size)
|
||||
await self.send_file(writer, config.err_files[404], file_size)
|
||||
|
Reference in New Issue
Block a user