Вложения из Jira по запросу: список при синхронизации, скачивание в вебе и MCP (#83) #84

Merged
aep merged 17 commits from feat/83-attachment-fetch into main 2026-10-22 15:05:52 +03:00
2 changed files with 8 additions and 1 deletions
Showing only changes of commit 5fdcc50451 - Show all commits

View File

@ -31,7 +31,7 @@ ASSET_CACHE = {"Cache-Control": "public, max-age=31536000, immutable"} # им
NOT_BUILT = ("<!doctype html><meta charset=\"utf-8\"><title>Хаб Jira</title><p>Веб-приложение не собрано: выполните "
"<code>make web</code> в каталоге jira-hub и перезапустите хаб.</p>").encode("utf-8")
SOCKET_TIMEOUT = 60 # чтение запроса; ожидание долгого claim идёт уже после чтения тела и сокет не держит
MIME_RE = re.compile(r"[\w!#$&^.+-]+/[\w!#$&^.+-]+") # тип/подтип без параметров и пробелов: заголовок не внушить
MIME_RE = re.compile(r"[\w!#$&^.+-]+/[\w!#$&^.+-]+", re.ASCII) # тип/подтип без параметров, пробелов и не-ASCII: заголовок не внушить
SWEEP_EVERY = 24 * 3600 # уборка files/ не чаще раза в сутки (hub-api «Хранилище файлов вложений»)

View File

@ -1130,6 +1130,13 @@ def test_attachment_content_bad_mime(hub):
assert _content(hub, "/attachments/31337/content").headers["Content-Type"] == "application/octet-stream"
def test_attachment_content_non_ascii_mime(hub):
"""Кириллический mime_type не должен ронять send_header (UnicodeEncodeError → 500): \w в MIME_RE — только ASCII."""
_seed_attachment(hub, mime="текст/простой")
_fetch_done(hub)
assert _content(hub, "/attachments/31337/content").headers["Content-Type"] == "application/octet-stream"
def test_attachment_fetch_twice_same_command(hub):
_seed_attachment(hub)
a = hub["client"].post("/attachments/31337/fetch", {})