machined 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,11 +8,11 @@ module Machined
|
|
8
8
|
# middleware or application. It's basically
|
9
9
|
# a simplified version of ActionDispatch::Static.
|
10
10
|
class Static
|
11
|
-
def initialize(app, root = '.',
|
11
|
+
def initialize(app, root = '.', headers = {})
|
12
12
|
@app = app
|
13
13
|
@root = File.expand_path(root)
|
14
14
|
@compiled_root = /^#{Regexp.escape(@root)}/
|
15
|
-
@file_server = ::Rack::File.new(@root,
|
15
|
+
@file_server = ::Rack::File.new(@root, headers)
|
16
16
|
end
|
17
17
|
|
18
18
|
def call(env)
|
data/lib/machined/version.rb
CHANGED
@@ -2,36 +2,36 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Machined::Middleware::Static do
|
4
4
|
include Rack::Test::Methods
|
5
|
-
|
5
|
+
|
6
6
|
let(:root) { create_construct }
|
7
7
|
after(:each) { root.destroy! }
|
8
|
-
|
8
|
+
|
9
9
|
let(:app) do
|
10
10
|
Rack::Builder.new.tap do |app|
|
11
|
-
app.use Machined::Middleware::Static, root, 'public, max-age=60'
|
11
|
+
app.use Machined::Middleware::Static, root, 'Cache-control' => 'public, max-age=60'
|
12
12
|
app.run Proc.new { |env| [200, {'Content-Type' => 'text/plain'}, ['Hello, World!']] }
|
13
13
|
end.to_app
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it 'serves dynamic content' do
|
17
17
|
get('/nofile').body.should == 'Hello, World!'
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it 'sets cache control headers' do
|
21
21
|
root.file 'file.txt', 'File Content'
|
22
22
|
get('/file.txt').headers['Cache-Control'].should == 'public, max-age=60'
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it 'serves static files in the root directory' do
|
26
26
|
root.file 'file.txt', 'File Content'
|
27
27
|
get('/file.txt').body.should == 'File Content'
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
it 'serves static files in a subdirectory' do
|
31
31
|
root.file 'sub/directory/file.txt', 'Subdirectory File Content'
|
32
32
|
get('/sub/directory/file.txt').body.should == 'Subdirectory File Content'
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
it 'serves static index file in the root directory' do
|
36
36
|
root.file 'index.html', 'Static Index Content'
|
37
37
|
get('/index.html').body.should == 'Static Index Content'
|
@@ -39,14 +39,14 @@ describe Machined::Middleware::Static do
|
|
39
39
|
get('/').body.should == 'Static Index Content'
|
40
40
|
get('').body.should == 'Static Index Content'
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
it 'serves static index file in directory' do
|
44
44
|
root.file 'foo/index.html', 'Static Index Content in Directory'
|
45
45
|
get('/foo/index.html').body.should == 'Static Index Content in Directory'
|
46
46
|
get('/foo/').body.should == 'Static Index Content in Directory'
|
47
47
|
get('/foo').body.should == 'Static Index Content in Directory'
|
48
48
|
end
|
49
|
-
|
49
|
+
|
50
50
|
it 'serves static html file in directory' do
|
51
51
|
root.file 'foo/bar.html', 'HTML Content in Directory'
|
52
52
|
get('/foo/bar.html').body.should == 'HTML Content in Directory'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: machined
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -428,7 +428,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
428
428
|
version: '0'
|
429
429
|
segments:
|
430
430
|
- 0
|
431
|
-
hash:
|
431
|
+
hash: 3230074138858488384
|
432
432
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
433
433
|
none: false
|
434
434
|
requirements:
|
@@ -437,7 +437,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
437
437
|
version: '0'
|
438
438
|
segments:
|
439
439
|
- 0
|
440
|
-
hash:
|
440
|
+
hash: 3230074138858488384
|
441
441
|
requirements: []
|
442
442
|
rubyforge_project: machined
|
443
443
|
rubygems_version: 1.8.23
|