Content-Disposition regex improvements
This commit is contained in:
parent
958227d556
commit
d02f1120f9
|
@ -316,9 +316,9 @@ defp build_resp_content_disposition_header(headers, opts) do
|
||||||
{{"content-disposition", content_disposition_string}, _} =
|
{{"content-disposition", content_disposition_string}, _} =
|
||||||
List.keytake(headers, "content-disposition", 0)
|
List.keytake(headers, "content-disposition", 0)
|
||||||
|
|
||||||
[name] =
|
[name | _] =
|
||||||
Regex.run(
|
Regex.run(
|
||||||
~r/filename=\"(.*)\"/u,
|
~r/filename="((?:[^"\\]|\\.)*)"/u,
|
||||||
content_disposition_string || "",
|
content_disposition_string || "",
|
||||||
capture: :all_but_first
|
capture: :all_but_first
|
||||||
)
|
)
|
||||||
|
@ -328,7 +328,7 @@ defp build_resp_content_disposition_header(headers, opts) do
|
||||||
MatchError -> Keyword.get(opts, :attachment_name, "attachment")
|
MatchError -> Keyword.get(opts, :attachment_name, "attachment")
|
||||||
end
|
end
|
||||||
|
|
||||||
disposition = "attachment; filename=" <> name
|
disposition = "attachment; filename=\"#{name}\""
|
||||||
|
|
||||||
List.keystore(headers, "content-disposition", 0, {"content-disposition", disposition})
|
List.keystore(headers, "content-disposition", 0, {"content-disposition", disposition})
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue