Merge pull request #711 from cpence/master
Add support for file streaming
This commit is contained in:
+1
-1
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|||||||
s.rdoc_options = ["--charset=UTF-8"]
|
s.rdoc_options = ["--charset=UTF-8"]
|
||||||
s.extra_rdoc_files = %w[README.md LICENSE]
|
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 'sinatra', '~> 1.4.2'
|
||||||
s.add_dependency 'mustache', ['>= 0.99.4', '< 1.0.0']
|
s.add_dependency 'mustache', ['>= 0.99.4', '< 1.0.0']
|
||||||
s.add_dependency 'useragent', '~> 0.6.0'
|
s.add_dependency 'useragent', '~> 0.6.0'
|
||||||
|
|||||||
+7
-3
@@ -403,9 +403,13 @@ module Precious
|
|||||||
@bar_side = wiki.bar_side
|
@bar_side = wiki.bar_side
|
||||||
|
|
||||||
mustache :page
|
mustache :page
|
||||||
elsif file = wiki.file(fullpath)
|
elsif file = wiki.file(fullpath, wiki.ref, true)
|
||||||
content_type file.mime_type
|
if file.on_disk?
|
||||||
file.raw_data
|
send_file file.on_disk_path, :disposition => 'inline'
|
||||||
|
else
|
||||||
|
content_type file.mime_type
|
||||||
|
file.raw_data
|
||||||
|
end
|
||||||
else
|
else
|
||||||
page_path = [path, name].compact.join('/')
|
page_path = [path, name].compact.join('/')
|
||||||
redirect to("/create/#{clean_url(encodeURIComponent(page_path))}")
|
redirect to("/create/#{clean_url(encodeURIComponent(page_path))}")
|
||||||
|
|||||||
@@ -578,6 +578,12 @@ context "Frontend with lotr" do
|
|||||||
assert_match /Bilbo Baggins/, last_response.body
|
assert_match /Bilbo Baggins/, last_response.body
|
||||||
end
|
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.
|
# base path requires 'map' in a config.ru to work correctly.
|
||||||
test "create pages within sub-directories using base path" do
|
test "create pages within sub-directories using base path" do
|
||||||
Precious::App.set(:wiki_options, { :base_path => 'wiki' })
|
Precious::App.set(:wiki_options, { :base_path => 'wiki' })
|
||||||
|
|||||||
Reference in New Issue
Block a user