staticme 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -4
- data/lib/rack/index_file.rb +31 -0
- data/lib/rack/staticme_urlmap.rb +1 -1
- data/lib/staticme/app.rb +2 -1
- metadata +24 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ad4451d44b452cfcc8e068963f3bd83ac6337233
|
4
|
+
data.tar.gz: 91dbeca335d139d2494f57094350ac2c3f501979
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 376b9449dd0932be4d496e9a590c8c9a105c15745375ae4290f583a11076ebfe90fa9b62961ef34f07b8b4d15b8f78a2139c7278c7716547f4c1481f0a0999cc
|
7
|
+
data.tar.gz: 11a6609391707c6094c0069374f26dc2ed8260dd389fb6c7e2f6bd561440dea90b1442eca30d836f9feda730922e2ec37a70d71440c0a22ff3c9b12c38b8eeb6
|
data/README.md
CHANGED
@@ -4,6 +4,24 @@
|
|
4
4
|
|
5
5
|
StaticMe is simple server for serving static content built on top of [thin](http://code.macournoyer.com/thin/).
|
6
6
|
|
7
|
+
## News
|
8
|
+
|
9
|
+
#### Version 0.4.0 has been released
|
10
|
+
|
11
|
+
The new version fixes the incompatibilities with ::Rack::File in new rack 1.6.4.
|
12
|
+
|
13
|
+
#### Version 0.3.0 has been released
|
14
|
+
|
15
|
+
This version introduces an automatic webpage reload functionality.
|
16
|
+
|
17
|
+
Staticme serves path `/staticme/autoreload.js` as a script src to provide the autoreload functionality.
|
18
|
+
|
19
|
+
Simply add a script tag to the bottom of any webpage:
|
20
|
+
|
21
|
+
<script type="text/javascript" src="/staticme/autoreload.js"></script>
|
22
|
+
|
23
|
+
Staticme will handle all fs evenes in the directory and broadcast 'em with "fs_event" through the websocket transport.
|
24
|
+
|
7
25
|
## Installation
|
8
26
|
|
9
27
|
```
|
@@ -14,10 +32,11 @@ gem install staticme
|
|
14
32
|
|
15
33
|
### Options:
|
16
34
|
|
17
|
-
* -f, --path:
|
18
|
-
* -p, --port:
|
19
|
-
* -h, --host:
|
20
|
-
* -i, --index:
|
35
|
+
* -f, --path: path to be served in, current if omitted
|
36
|
+
* -p, --port: port to bind, 8080 by default
|
37
|
+
* -h, --host: host to start up, 0.0.0.0 by default
|
38
|
+
* -i, --index: index file name, index.html by default
|
39
|
+
* -ws, --ws_port: websocket port, 8090 by default. Available since 0.3.0
|
21
40
|
|
22
41
|
### Starting up
|
23
42
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'rack/file'
|
2
|
+
|
3
|
+
module Rack
|
4
|
+
class IndexFile < File
|
5
|
+
|
6
|
+
F = ::File
|
7
|
+
|
8
|
+
def initialize(root, headers={}, default_mime = 'text/plain')
|
9
|
+
@path = root
|
10
|
+
end
|
11
|
+
|
12
|
+
def _call(env)
|
13
|
+
unless ALLOWED_VERBS.include? env[REQUEST_METHOD]
|
14
|
+
return fail(405, "Method Not Allowed", {'Allow' => ALLOW_HEADER})
|
15
|
+
end
|
16
|
+
|
17
|
+
available = begin
|
18
|
+
F.file?(@path) && F.readable?(@path)
|
19
|
+
rescue SystemCallError
|
20
|
+
false
|
21
|
+
end
|
22
|
+
|
23
|
+
if available
|
24
|
+
serving(env)
|
25
|
+
else
|
26
|
+
fail(404, "File not found: #{path_info}")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
data/lib/rack/staticme_urlmap.rb
CHANGED
data/lib/staticme/app.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'rack/staticme_builder'
|
2
|
+
require 'rack/index_file'
|
2
3
|
|
3
4
|
module Staticme
|
4
5
|
|
@@ -28,7 +29,7 @@ module Staticme
|
|
28
29
|
|
29
30
|
if !index.nil? && File.exists?( File.join( path, index ) )
|
30
31
|
map /^\/$/ do
|
31
|
-
run Rack::
|
32
|
+
run Rack::IndexFile.new( File.join( path, index ) )
|
32
33
|
end
|
33
34
|
end
|
34
35
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: staticme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 4pcbr
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: thin
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.6.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.6.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: em-websocket
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rack
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.6.4
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.6.4
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: shoulda
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,8 +136,8 @@ dependencies:
|
|
122
136
|
- - ~>
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: 2.0.1
|
125
|
-
description: Staticme
|
126
|
-
to serve
|
139
|
+
description: Staticme is a very easy-to-use webserver built on top of Thin and Rack
|
140
|
+
to serve static files in a directory provided as the webroot
|
127
141
|
email: me@whitebox.io
|
128
142
|
executables:
|
129
143
|
- staticme
|
@@ -132,6 +146,7 @@ extra_rdoc_files:
|
|
132
146
|
- LICENSE.txt
|
133
147
|
- README.md
|
134
148
|
files:
|
149
|
+
- lib/rack/index_file.rb
|
135
150
|
- lib/rack/staticme_builder.rb
|
136
151
|
- lib/rack/staticme_urlmap.rb
|
137
152
|
- lib/staticme.rb
|
@@ -170,5 +185,5 @@ rubyforge_project:
|
|
170
185
|
rubygems_version: 2.0.6
|
171
186
|
signing_key:
|
172
187
|
specification_version: 4
|
173
|
-
summary:
|
188
|
+
summary: A dummy web server to serve static content
|
174
189
|
test_files: []
|