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.
Files changed (3) hide show
  1. data/bin/htmlserve +8 -0
  2. data/bin/htmlserve.rb +30 -0
  3. 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
+