net-http-server 0.2.2 → 0.2.4

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.
@@ -6,6 +6,15 @@ class TestRequest
6
6
  def call(env)
7
7
  status = env["QUERY_STRING"] =~ /secret/ ? 403 : 200
8
8
  env["test.postdata"] = env["rack.input"].read
9
+ # clean out complex objects that won't translate over anyways.
10
+ env.keys.each do |key|
11
+ case env[key]
12
+ when String, Fixnum, Bignum
13
+ # leave it
14
+ else
15
+ env[key] = nil
16
+ end
17
+ end
9
18
  body = env.to_yaml
10
19
  size = body.respond_to?(:bytesize) ? body.bytesize : body.size
11
20
  [status, {"Content-Type" => "text/yaml", "Content-Length" => size.to_s}, [body]]
@@ -31,7 +40,7 @@ class TestRequest
31
40
  passwd = header.delete(:passwd)
32
41
 
33
42
  get = Net::HTTP::Get.new(path, header)
34
- get.basic_auth user, passwd if user && passwd
43
+ get.basic_auth user, passwd if user && passwd
35
44
  http.request(get) { |response|
36
45
  @status = response.code.to_i
37
46
  if response.content_type == "text/yaml"
@@ -50,14 +59,14 @@ class TestRequest
50
59
 
51
60
  post = Net::HTTP::Post.new(path, header)
52
61
  post.form_data = formdata
53
- post.basic_auth user, passwd if user && passwd
62
+ post.basic_auth user, passwd if user && passwd
54
63
  http.request(post) { |response|
55
64
  @status = response.code.to_i
56
65
  @response = YAML.load(response.body)
57
66
  }
58
67
  }
59
68
  end
60
-
69
+
61
70
  def load_yaml(response)
62
71
  begin
63
72
  @response = YAML.load(response.body)
@@ -12,7 +12,8 @@ describe Rack::Handler::HTTP do
12
12
  before(:all) do
13
13
  app = Rack::Builder.app do
14
14
  use Rack::Lint
15
- use Rack::Static, :urls => ["/spec/images"]
15
+ use Rack::Static, :urls => ["/images"],
16
+ :root => TestRequest::Helpers::ROOT
16
17
  run TestRequest.new
17
18
  end
18
19
 
@@ -31,56 +32,56 @@ describe Rack::Handler::HTTP do
31
32
 
32
33
  it "should respond to a simple get request" do
33
34
  GET "/"
34
- status.should == 200
35
+ expect(status).to eq(200)
35
36
  end
36
37
 
37
38
  it "should have CGI headers on GET" do
38
39
  GET("/")
39
- response["REQUEST_METHOD"].should == "GET"
40
- response["SCRIPT_NAME"].should == ''
41
- response["PATH_INFO"].should == "/"
42
- response["QUERY_STRING"].should == ""
43
- response["test.postdata"].should == ""
40
+ expect(response["REQUEST_METHOD"]).to eq("GET")
41
+ expect(response["SCRIPT_NAME"]).to eq('')
42
+ expect(response["PATH_INFO"]).to eq("/")
43
+ expect(response["QUERY_STRING"]).to eq("")
44
+ expect(response["test.postdata"]).to eq("")
44
45
 
45
46
  GET("/test/foo?quux=1")
46
- response["REQUEST_METHOD"].should == "GET"
47
- response["SCRIPT_NAME"].should == ''
48
- response["REQUEST_URI"].should == "/test/foo"
49
- response["PATH_INFO"].should == "/test/foo"
50
- response["QUERY_STRING"].should == "quux=1"
47
+ expect(response["REQUEST_METHOD"]).to eq("GET")
48
+ expect(response["SCRIPT_NAME"]).to eq('')
49
+ expect(response["REQUEST_URI"]).to eq("/test/foo")
50
+ expect(response["PATH_INFO"]).to eq("/test/foo")
51
+ expect(response["QUERY_STRING"]).to eq("quux=1")
51
52
  end
52
53
 
53
54
  it "should have CGI headers on POST" do
54
55
  POST("/", {"rack-form-data" => "23"}, {'X-test-header' => '42'})
55
- status.should == 200
56
- response["REQUEST_METHOD"].should == "POST"
57
- response["REQUEST_URI"].should == "/"
58
- response["QUERY_STRING"].should == ""
59
- response["HTTP_X_TEST_HEADER"].should == "42"
60
- response["test.postdata"].should == "rack-form-data=23"
56
+ expect(status).to eq(200)
57
+ expect(response["REQUEST_METHOD"]).to eq("POST")
58
+ expect(response["REQUEST_URI"]).to eq("/")
59
+ expect(response["QUERY_STRING"]).to eq("")
60
+ expect(response["HTTP_X_TEST_HEADER"]).to eq("42")
61
+ expect(response["test.postdata"]).to eq("rack-form-data=23")
61
62
  end
62
63
 
63
64
  it "should support HTTP auth" do
64
65
  GET("/test", {:user => "ruth", :passwd => "secret"})
65
- response["HTTP_AUTHORIZATION"].should == "Basic cnV0aDpzZWNyZXQ="
66
+ expect(response["HTTP_AUTHORIZATION"]).to eq("Basic cnV0aDpzZWNyZXQ=")
66
67
  end
67
68
 
68
69
  it "should set status" do
69
70
  GET("/test?secret")
70
- status.should == 403
71
- response["rack.url_scheme"].should == "http"
71
+ expect(status).to eq(403)
72
+ expect(response["rack.url_scheme"]).to eq("http")
72
73
  end
73
74
 
74
75
  it "should not set content-type to '' in requests" do
75
76
  GET("/test", 'Content-Type' => '')
76
- response['Content-Type'].should == nil
77
+ expect(response['Content-Type']).to eq(nil)
77
78
  end
78
79
 
79
80
  it "should serve images" do
80
81
  file_size = File.size(File.join(File.dirname(__FILE__), 'images', 'image.jpg'))
81
- GET("/spec/images/image.jpg")
82
- status.should == 200
83
- response.content_length.should == file_size
84
- response.body.size.should == file_size
82
+ GET("/images/image.jpg")
83
+ expect(status).to eq(200)
84
+ expect(response.content_length).to eq(file_size)
85
+ expect(response.body.size).to eq(file_size)
85
86
  end
86
87
  end
data/spec/spec_helper.rb CHANGED
@@ -1,2 +1 @@
1
- gem 'rspec', '~> 2.4'
2
1
  require 'rspec'
metadata CHANGED
@@ -1,97 +1,78 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-http-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
5
- prerelease:
4
+ version: 0.2.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Postmodern
9
- autorequire:
10
8
  bindir: bin
11
9
  cert_chain: []
12
- date: 2012-09-08 00:00:00.000000000 Z
10
+ date: 2025-03-05 00:00:00.000000000 Z
13
11
  dependencies:
14
12
  - !ruby/object:Gem::Dependency
15
13
  name: parslet
16
14
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
15
  requirements:
19
- - - ~>
16
+ - - "~>"
20
17
  - !ruby/object:Gem::Version
21
18
  version: '1.0'
22
19
  type: :runtime
23
20
  prerelease: false
24
21
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
22
  requirements:
27
- - - ~>
23
+ - - "~>"
28
24
  - !ruby/object:Gem::Version
29
25
  version: '1.0'
30
26
  - !ruby/object:Gem::Dependency
31
- name: rubygems-tasks
27
+ name: gserver
32
28
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
29
  requirements:
35
- - - ~>
30
+ - - "~>"
36
31
  - !ruby/object:Gem::Version
37
- version: '0.1'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ~>
44
- - !ruby/object:Gem::Version
45
- version: '0.1'
46
- - !ruby/object:Gem::Dependency
47
- name: rspec
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
- requirements:
51
- - - ~>
52
- - !ruby/object:Gem::Version
53
- version: '2.4'
54
- type: :development
32
+ version: '0.0'
33
+ type: :runtime
55
34
  prerelease: false
56
35
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
36
  requirements:
59
- - - ~>
37
+ - - "~>"
60
38
  - !ruby/object:Gem::Version
61
- version: '2.4'
39
+ version: '0.0'
62
40
  - !ruby/object:Gem::Dependency
63
- name: yard
41
+ name: bundler
64
42
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
43
  requirements:
67
- - - ~>
44
+ - - "~>"
68
45
  - !ruby/object:Gem::Version
69
- version: '0.8'
46
+ version: '2.0'
70
47
  type: :development
71
48
  prerelease: false
72
49
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
50
  requirements:
75
- - - ~>
51
+ - - "~>"
76
52
  - !ruby/object:Gem::Version
77
- version: '0.8'
53
+ version: '2.0'
78
54
  description: A Rack compatible pure Ruby HTTP Server.
79
55
  email: postmodern.mod3@gmail.com
80
56
  executables: []
81
57
  extensions: []
82
- extra_rdoc_files: []
58
+ extra_rdoc_files:
59
+ - ChangeLog.md
60
+ - LICENSE.txt
61
+ - README.md
83
62
  files:
84
- - .document
85
- - .gemtest
86
- - .gitignore
87
- - .rspec
88
- - .yardopts
63
+ - ".document"
64
+ - ".gitignore"
65
+ - ".rspec"
66
+ - ".yardopts"
89
67
  - ChangeLog.md
68
+ - Gemfile
90
69
  - LICENSE.txt
91
70
  - README.md
92
71
  - Rakefile
93
72
  - benchmarks/parser.rb
94
73
  - benchmarks/server.rb
74
+ - examples/config.ru
75
+ - examples/test_app.rb
95
76
  - gemspec.yml
96
77
  - lib/net/http/server.rb
97
78
  - lib/net/http/server/chunked_stream.rb
@@ -115,30 +96,31 @@ files:
115
96
  - spec/rack/handler/http_spec.rb
116
97
  - spec/rack/handler/images/image.jpg
117
98
  - spec/spec_helper.rb
118
- homepage: http://github.com/postmodern/net-http-server
99
+ homepage: https://github.com/postmodern/net-http-server#readme
119
100
  licenses:
120
101
  - MIT
121
- post_install_message:
102
+ metadata:
103
+ documentation_uri: https://rubydoc.info/gems/net-http-server
104
+ source_code_uri: https://github.com/postmodern/net-http-server
105
+ bug_tracker_uri: https://github.com/postmodern/net-http-server/issues
106
+ changelog_uri: https://github.com/postmodern/net-http-server/blob/master/ChangeLog.md
107
+ rubygems_mfa_required: 'true'
122
108
  rdoc_options: []
123
109
  require_paths:
124
110
  - lib
125
111
  required_ruby_version: !ruby/object:Gem::Requirement
126
- none: false
127
112
  requirements:
128
- - - ! '>='
113
+ - - ">="
129
114
  - !ruby/object:Gem::Version
130
115
  version: '0'
131
116
  required_rubygems_version: !ruby/object:Gem::Requirement
132
- none: false
133
117
  requirements:
134
- - - ! '>='
118
+ - - ">="
135
119
  - !ruby/object:Gem::Version
136
120
  version: '0'
137
121
  requirements: []
138
- rubyforge_project:
139
- rubygems_version: 1.8.23
140
- signing_key:
141
- specification_version: 3
122
+ rubygems_version: 3.6.2
123
+ specification_version: 4
142
124
  summary: A pure Ruby HTTP Server
143
125
  test_files:
144
126
  - spec/net/http/server/chunked_stream_spec.rb
data/.gemtest DELETED
File without changes