fix(worker): replace deprecated cgi.parse_header

This commit is contained in:
jo 2022-12-07 13:59:12 +01:00 committed by Kyle Robbertze
parent 1f4d42fee5
commit dbf4667bd8
1 changed files with 8 additions and 5 deletions

View File

@ -1,5 +1,5 @@
import json
from cgi import parse_header
from email.message import EmailMessage
from pathlib import Path
from tempfile import NamedTemporaryFile
from typing import Any, Dict, Optional
@ -121,9 +121,12 @@ def extract_filename(response: Response) -> str:
Returns:
Extracted filename.
"""
if "Content-Disposition" in response.headers:
_, params = parse_header(response.headers["Content-Disposition"])
if "filename" in params:
return params["filename"]
content_disposition = "Content-Disposition"
value = response.headers.get(content_disposition)
if value and "filename" in value:
parser = EmailMessage()
parser[content_disposition] = value
params = parser[content_disposition].params
return params["filename"]
return Path(urlsplit(response.url).path).name