Rwebserver 0.0.2 → 0.0.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.
data/Readme.md CHANGED
@@ -1,16 +1,31 @@
1
- * What is it ?
1
+
2
+ ##What is Rwebserver ?
2
3
 
3
4
  Rwebserver is a simple http server. It is so simple that you just input `Rwebserver` in your shell to start serving your current directory.
4
5
 
5
- * Why create it ?
6
+ ##Why create Rwebserver ?
6
7
 
7
8
  I want a simple http server, just input a command.
8
9
  It is all.
9
10
 
10
- * How to use ?
11
+
12
+
13
+ ###How to use ?
11
14
 
12
15
  `gem install Rwebserver`
16
+
17
+
13
18
  `cd /some/path/to/server`
19
+
20
+
14
21
  `Rwebserver`
15
22
 
23
+ or
24
+ specify your server port like this(port should belong bettween 1 and 65535, if not,default 8000):
25
+
26
+
27
+ `Rwebserver [port]`
28
+
29
+ ---------------------
30
+
16
31
  *Have fun!*
data/lib/Rwebserver.rb CHANGED
@@ -3,13 +3,18 @@ if $0 == __FILE__
3
3
  end
4
4
  require "Rwebserver/version"
5
5
  require 'webrick'
6
+ if RUBY_VERSION =~ /1.9/
7
+ require "Rwebserver/filehandler_ext"
8
+ require "Rwebserver/httputils_ext"
9
+ end
6
10
  require 'logger'
7
-
11
+ BasicSocket.do_not_reverse_lookup=true
8
12
  module Rwebserver
9
13
  def self.start(port=8000,logger = Logger.new(STDOUT))
10
14
  current_dir = Dir.pwd
11
15
  server = WEBrick::HTTPServer.new :Port => port, :DocumentRoot => current_dir
12
16
  logger.info("start serve for dir: #{current_dir}")
17
+ logger.info("url: http://127.0.0.1:#{port}")
13
18
  trap 'INT' do
14
19
  logger.info("stop serve")
15
20
  server.shutdown
@@ -0,0 +1,16 @@
1
+ require 'webrick'
2
+ require 'webrick/httpservlet/filehandler'
3
+ module WEBrick
4
+ module HTTPServlet
5
+ class FileHandler
6
+ def nondisclosure_name?(name)
7
+ @options[:NondisclosureName].each{|pattern|
8
+ if File.fnmatch(pattern, name)
9
+ return true
10
+ end
11
+ }
12
+ return false
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ require 'webrick'
2
+ require 'webrick/httputils'
3
+
4
+ module WEBrick
5
+ module HTTPUtils
6
+ module_function
7
+ def _escape(str, regex)
8
+ str.force_encoding('ASCII-8BIT').gsub(regex){ "%%%02X" % $1.ord }
9
+ end
10
+ end
11
+ end
@@ -1,3 +1,3 @@
1
1
  module Rwebserver
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Rwebserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-03 00:00:00.000000000 Z
12
+ date: 2012-04-07 00:00:00.000000000Z
13
13
  dependencies: []
14
14
  description: a simple file http server by pure ruby code.
15
15
  email:
@@ -26,6 +26,8 @@ files:
26
26
  - Rwebserver.gemspec
27
27
  - bin/Rwebserver
28
28
  - lib/Rwebserver.rb
29
+ - lib/Rwebserver/filehandler_ext.rb
30
+ - lib/Rwebserver/httputils_ext.rb
29
31
  - lib/Rwebserver/version.rb
30
32
  homepage: ''
31
33
  licenses: []
@@ -47,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
47
49
  version: '0'
48
50
  requirements: []
49
51
  rubyforge_project: Rwebserver
50
- rubygems_version: 1.8.15
52
+ rubygems_version: 1.8.10
51
53
  signing_key:
52
54
  specification_version: 3
53
55
  summary: a simple file http server by pure ruby code.