Mercurial > hg
changeset 6136:acfb9fa494e2
hgweb: Pass only filename instead of full path when downloading raw files.
Before this patch "filename=foo/bar" was sent and e.g. Firefox offered to save
the file as "foo-bar" instead of just "bar".
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Sat, 16 Feb 2008 17:51:30 +0100 |
parents | be91a77b7f18 |
children | 1c0e7afe824a |
files | mercurial/hgweb/request.py tests/test-webraw tests/test-webraw.out |
diffstat | 3 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb/request.py Sat Feb 16 13:34:11 2008 +0100 +++ b/mercurial/hgweb/request.py Sat Feb 16 17:51:30 2008 +0100 @@ -85,8 +85,8 @@ if type is not None: headers.append(('Content-Type', type)) if filename: - headers.append(('Content-Disposition', 'inline; filename=%s' % - filename)) + headers.append(('Content-Disposition', + 'inline; filename=%s' % filename.split('/')[-1])) if length: headers.append(('Content-Length', str(length))) self.header(headers)
--- a/tests/test-webraw Sat Feb 16 13:34:11 2008 +0100 +++ b/tests/test-webraw Sat Feb 16 17:51:30 2008 +0100 @@ -2,17 +2,18 @@ hg init test cd test -cat >sometext.txt <<ENDSOME +mkdir sub +cat >sub/sometext.txt <<ENDSOME This is just some random text that will go inside the file and take a few lines. It is very boring to read, but computers don't care about things like that. ENDSOME -hg add sometext.txt +hg add sub/sometext.txt hg commit -d "1 0" -m "Just some text" hg serve -p $HGPORT -A access.log -E error.log -d --pid-file=hg.pid cat hg.pid >> $DAEMON_PIDS -("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?f=f165dc289438;file=sometext.txt;style=raw' content-type content-length content-disposition) >getoutput.txt & +("$TESTDIR/get-with-headers.py" localhost:$HGPORT '/?f=37afcac6d393;file=sub/sometext.txt;style=raw' content-type content-length content-disposition) >getoutput.txt & sleep 5 kill `cat hg.pid`
--- a/tests/test-webraw.out Sat Feb 16 13:34:11 2008 +0100 +++ b/tests/test-webraw.out Sat Feb 16 17:51:30 2008 +0100 @@ -7,4 +7,4 @@ that will go inside the file and take a few lines. It is very boring to read, but computers don't care about things like that. -host - - [date] "GET /?f=f165dc289438;file=sometext.txt;style=raw HTTP/1.1" 200 - +host - - [date] "GET /?f=37afcac6d393;file=sub/sometext.txt;style=raw HTTP/1.1" 200 -