mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
when setting content-disposition, uri-encode names
This commit is contained in:
parent
f398e87e6f
commit
02d75deaa0
4 changed files with 8 additions and 4 deletions
|
@ -85,7 +85,9 @@ module.exports = CompileController =
|
||||||
res.contentType("application/pdf")
|
res.contentType("application/pdf")
|
||||||
if !!req.query.popupDownload
|
if !!req.query.popupDownload
|
||||||
logger.log project_id: project_id, "download pdf as popup download"
|
logger.log project_id: project_id, "download pdf as popup download"
|
||||||
res.header('Content-Disposition', "attachment; filename=#{project.getSafeProjectName()}.pdf")
|
res.header(
|
||||||
|
'Content-Disposition', "attachment; filename=#{encodeURIComponent(project.getSafeProjectName())}.pdf"
|
||||||
|
)
|
||||||
else
|
else
|
||||||
logger.log project_id: project_id, "download pdf to embed in browser"
|
logger.log project_id: project_id, "download pdf to embed in browser"
|
||||||
res.header('Content-Disposition', "filename=#{project.getSafeProjectName()}.pdf")
|
res.header('Content-Disposition', "filename=#{project.getSafeProjectName()}.pdf")
|
||||||
|
|
|
@ -35,5 +35,5 @@ module.exports =
|
||||||
if (is_mobile_safari(user_agent) and is_html(file))
|
if (is_mobile_safari(user_agent) and is_html(file))
|
||||||
logger.log filename: file.name, user_agent: user_agent, "sending html file to mobile-safari as plain text"
|
logger.log filename: file.name, user_agent: user_agent, "sending html file to mobile-safari as plain text"
|
||||||
res.setHeader('Content-Type', 'text/plain')
|
res.setHeader('Content-Type', 'text/plain')
|
||||||
res.setHeader("Content-Disposition", "attachment; filename=#{file.name}")
|
res.setHeader("Content-Disposition", "attachment; filename=#{encodeURIComponent(file.name)}")
|
||||||
stream.pipe res
|
stream.pipe res
|
||||||
|
|
|
@ -137,7 +137,7 @@ describe "CompileController", ->
|
||||||
|
|
||||||
it "should set the content-disposition header with the project name", ->
|
it "should set the content-disposition header with the project name", ->
|
||||||
@res.header
|
@res.header
|
||||||
.calledWith("Content-Disposition", "filename=#{@safe_name}.pdf")
|
.calledWith("Content-Disposition", "filename=#{encodeURIComponent(@safe_name)}.pdf")
|
||||||
.should.equal true
|
.should.equal true
|
||||||
|
|
||||||
it "should increment the pdf-downloads metric", ->
|
it "should increment the pdf-downloads metric", ->
|
||||||
|
|
|
@ -62,7 +62,9 @@ describe "FileStoreController", ->
|
||||||
|
|
||||||
it "should set the Content-Disposition header", (done)->
|
it "should set the Content-Disposition header", (done)->
|
||||||
@stream.pipe = (des)=>
|
@stream.pipe = (des)=>
|
||||||
@res.setHeader.calledWith("Content-Disposition", "attachment; filename=#{@file.name}").should.equal true
|
@res.setHeader.calledWith(
|
||||||
|
"Content-Disposition", "attachment; filename=#{encodeURIComponent(@file.name)}"
|
||||||
|
).should.equal true
|
||||||
done()
|
done()
|
||||||
@controller.getFile @req, @res
|
@controller.getFile @req, @res
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue