Merge pull request #711 from cpence/master

Add support for file streaming
This commit is contained in:
dekimsey
2013-06-18 19:15:57 -07:00
3 changed files with 14 additions and 4 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
s.rdoc_options = ["--charset=UTF-8"]
s.extra_rdoc_files = %w[README.md LICENSE]
s.add_dependency 'gollum-lib', '~> 1.0.2'
s.add_dependency 'gollum-lib', '~> 1.0.3'
s.add_dependency 'sinatra', '~> 1.4.2'
s.add_dependency 'mustache', ['>= 0.99.4', '< 1.0.0']
s.add_dependency 'useragent', '~> 0.6.0'
+7 -3
View File
@@ -403,9 +403,13 @@ module Precious
@bar_side = wiki.bar_side
mustache :page
elsif file = wiki.file(fullpath)
content_type file.mime_type
file.raw_data
elsif file = wiki.file(fullpath, wiki.ref, true)
if file.on_disk?
send_file file.on_disk_path, :disposition => 'inline'
else
content_type file.mime_type
file.raw_data
end
else
page_path = [path, name].compact.join('/')
redirect to("/create/#{clean_url(encodeURIComponent(page_path))}")
+6
View File
@@ -578,6 +578,12 @@ context "Frontend with lotr" do
assert_match /Bilbo Baggins/, last_response.body
end
test "streaming files to browser" do
get "/Data.csv"
assert last_response.ok?
assert last_response.headers.include? 'Content-Disposition'
end
# base path requires 'map' in a config.ru to work correctly.
test "create pages within sub-directories using base path" do
Precious::App.set(:wiki_options, { :base_path => 'wiki' })