Rwebserver 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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.