adamcooke-htmlserve 1.0.1
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.
- data/bin/htmlserve +8 -0
- data/bin/htmlserve.rb +30 -0
- metadata +54 -0
data/bin/htmlserve
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
## I am fully aware of how nasty this is, but I actually don't know enough about Sinatra to make
|
4
|
+
## `htmlserve` execute itself when run through the RubyGems 'bin wrapper'. Suggestions for improvement
|
5
|
+
## are more than welcome.
|
6
|
+
|
7
|
+
ruby_version = File.join(File.dirname(__FILE__), 'htmlserve.rb')
|
8
|
+
exec("/usr/bin/env ruby #{ruby_version} #{ARGV[0]}")
|
data/bin/htmlserve.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'sinatra'
|
5
|
+
|
6
|
+
set :port, ARGV[0] || 4567
|
7
|
+
|
8
|
+
get '*' do
|
9
|
+
file = File.join('.', params[:splat].first)
|
10
|
+
if File.exist?(file) && !File.file?(file)
|
11
|
+
file = File.join(file, 'index.html')
|
12
|
+
end
|
13
|
+
|
14
|
+
if File.file?(file)
|
15
|
+
properties = `file -b -i #{file}`.chomp
|
16
|
+
file_contents = File.read(file)
|
17
|
+
|
18
|
+
headers(
|
19
|
+
'Content-Type' => properties,
|
20
|
+
'Server' => "HTMLServe",
|
21
|
+
'Date' => Time.now.httpdate,
|
22
|
+
'Content-Length' => file_contents.length,
|
23
|
+
'Connection' => 'close'
|
24
|
+
)
|
25
|
+
|
26
|
+
file_contents
|
27
|
+
else
|
28
|
+
not_found("<p><span style='color:red'><b>Page Not Found</b> at #{file}</span></p>")
|
29
|
+
end
|
30
|
+
end
|
metadata
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: adamcooke-htmlserve
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Adam Cooke
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-04-08 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description:
|
17
|
+
email: adam@atechmedia.com
|
18
|
+
executables:
|
19
|
+
- htmlserve
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
24
|
+
files:
|
25
|
+
- bin/htmlserve
|
26
|
+
- bin/htmlserve.rb
|
27
|
+
has_rdoc: false
|
28
|
+
homepage: http://www.atechmedia.com
|
29
|
+
post_install_message:
|
30
|
+
rdoc_options: []
|
31
|
+
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: "0"
|
39
|
+
version:
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
requirements:
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: "0"
|
45
|
+
version:
|
46
|
+
requirements: []
|
47
|
+
|
48
|
+
rubyforge_project:
|
49
|
+
rubygems_version: 1.2.0
|
50
|
+
signing_key:
|
51
|
+
specification_version: 2
|
52
|
+
summary: A simple sinatra based server for rendering HTML sites
|
53
|
+
test_files: []
|
54
|
+
|