simple-httpd 0.0.4 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/.rubocop.yml +9 -0
  4. data/.tm_properties +1 -0
  5. data/Gemfile +21 -1
  6. data/Makefile +9 -0
  7. data/README.md +87 -2
  8. data/Rakefile +5 -0
  9. data/VERSION +1 -1
  10. data/bin/simple-httpd +13 -0
  11. data/examples/README.md +41 -0
  12. data/examples/ex1/ex1_helpers.rb +5 -0
  13. data/examples/ex1/root.rb +11 -0
  14. data/examples/ex2/README.txt +1 -0
  15. data/examples/ex2/ex2_helpers.rb +5 -0
  16. data/examples/ex2/helpers.rb +15 -0
  17. data/examples/ex2/info.rb +4 -0
  18. data/examples/ex2/root.rb +3 -0
  19. data/examples/ex3/example_service.rb +13 -0
  20. data/examples/services/example_service.rb +25 -0
  21. data/examples/services/explicit_example_service.rb +18 -0
  22. data/examples/v2/api.js +1 -0
  23. data/examples/v2/jobs.rb +13 -0
  24. data/examples/v2/root.rb +3 -0
  25. data/examples/v2/v2_helpers.rb +5 -0
  26. data/lib/simple-service.rb +3 -0
  27. data/lib/simple/httpd.rb +99 -25
  28. data/lib/simple/httpd/base_controller.rb +2 -2
  29. data/lib/simple/httpd/base_controller/error_handling.rb +45 -17
  30. data/lib/simple/httpd/base_controller/json.rb +15 -8
  31. data/lib/simple/httpd/cli.rb +99 -0
  32. data/lib/simple/httpd/helpers.rb +54 -0
  33. data/lib/simple/httpd/mount_spec.rb +106 -0
  34. data/lib/simple/httpd/rack.rb +17 -0
  35. data/lib/simple/httpd/rack/dynamic_mount.rb +66 -0
  36. data/lib/simple/httpd/rack/merger.rb +28 -0
  37. data/lib/simple/httpd/rack/static_mount.rb +50 -0
  38. data/lib/simple/httpd/server.rb +69 -0
  39. data/lib/simple/httpd/service.rb +70 -0
  40. data/lib/simple/httpd/version.rb +1 -1
  41. data/lib/simple/service.rb +69 -0
  42. data/lib/simple/service/action.rb +78 -0
  43. data/lib/simple/service/context.rb +46 -0
  44. data/scripts/release +2 -0
  45. data/scripts/release.rb +91 -0
  46. data/simple-httpd.gemspec +9 -19
  47. data/spec/simple/httpd/base_controller/httpd_cors_spec.rb +15 -0
  48. data/spec/simple/httpd/base_controller/httpd_debug_spec.rb +11 -0
  49. data/spec/simple/httpd/base_controller/httpd_x_processing_copy.rb +15 -0
  50. data/spec/simple/httpd/base_spec.rb +16 -0
  51. data/spec/simple/httpd/dynamic_mounting_spec.rb +33 -0
  52. data/spec/simple/httpd/helpers_spec.rb +15 -0
  53. data/spec/simple/httpd/rspec_httpd_spec.rb +17 -0
  54. data/spec/simple/httpd/services/service_explicit_spec.rb +34 -0
  55. data/spec/simple/httpd/services/service_spec.rb +34 -0
  56. data/spec/simple/httpd/static_mounting_spec.rb +13 -0
  57. data/spec/spec_helper.rb +30 -6
  58. data/spec/support/004_simplecov.rb +3 -12
  59. metadata +61 -84
  60. data/lib/simple/httpd/app.rb +0 -84
  61. data/lib/simple/httpd/app/file_server.rb +0 -19
  62. data/spec/simple/httpd/version_spec.rb +0 -10
  63. data/tasks/release.rake +0 -104
data/simple-httpd.gemspec CHANGED
@@ -1,10 +1,5 @@
1
- # This file is part of the sinatra-sse ruby gem.
2
- #
3
- # Copyright (c) 2016, 2017 @radiospiel, mediapeers Gem
4
- # Distributed under the terms of the modified BSD license, see LICENSE.BSD
5
-
6
- lib = File.expand_path('../lib', __FILE__)
7
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
1
+ # lib = File.expand_path('../lib', __FILE__)
2
+ # $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
8
3
 
9
4
  Gem::Specification.new do |gem|
10
5
  gem.name = "simple-httpd"
@@ -26,16 +21,11 @@ Gem::Specification.new do |gem|
26
21
 
27
22
  gem.required_ruby_version = '~> 2.5'
28
23
 
29
- # -- dependencies for postjob httpd
30
- gem.add_runtime_dependency "neatjson", "~> 0.8.4"
31
- gem.add_runtime_dependency "sinatra", "~> 2"
32
- gem.add_runtime_dependency "sinatra-reloader", "~> 1"
33
-
34
- # development gems
35
- gem.add_development_dependency "rspec-httpd", "~> 0.0.14"
36
- gem.add_development_dependency 'rake', '~> 11'
37
- gem.add_development_dependency 'rspec', '~> 3.7'
38
- gem.add_development_dependency 'rubocop', '~> 0.61.1'
39
- gem.add_development_dependency 'simplecov', '~> 0'
40
- gem.add_development_dependency 'awesome_print', '~> 0'
24
+ # dependencies
25
+ gem.add_dependency "neatjson", "~> 0.8.4"
26
+ gem.add_dependency "sinatra", "~> 2"
27
+ # gem.add_dependency "sinatra-reloader", "~> 1"
28
+ gem.add_dependency "expectation", "~> 1"
29
+ gem.add_dependency "simple-cli", "~> 0.3.0"
41
30
  end
31
+ #require "expectation"
@@ -0,0 +1,15 @@
1
+ require "spec_helper"
2
+
3
+ describe Simple::Httpd do
4
+ describe "CORS headers" do
5
+ it "returns CORS headers on dynamic responses" do
6
+ http.get "/"
7
+ expect(http.response.headers.keys).to include("access-control-allow-origin")
8
+ end
9
+
10
+ it "returns CORS headers" do
11
+ http.get "/README.txt"
12
+ expect(http.response.headers.keys).not_to include("access-control-allow-origin")
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,11 @@
1
+ require "spec_helper"
2
+
3
+ describe Simple::Httpd do
4
+ describe "debug feature" do
5
+ it "returns CORS headers on dynamic responses" do
6
+ http.get "/debug?foo"
7
+ expect_response '{"foo"=>nil}' + "\n"
8
+ expect(http.response.headers["content-type"]).to match(/text\/plain/)
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ require "spec_helper"
2
+
3
+ describe Simple::Httpd do
4
+ describe "X-Processing headers" do
5
+ it "returns X-Processing headers on dynamic responses" do
6
+ http.get "/"
7
+ expect(http.response.headers.keys).to include("x-processing")
8
+ end
9
+
10
+ it "returns X-Processing headers on static responses" do
11
+ http.get "/README.txt"
12
+ expect(http.response.headers.keys).not_to include("x-processing")
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ require "spec_helper"
2
+
3
+ describe Simple::Httpd do
4
+ describe "VERSION" do
5
+ it "defines a version string" do
6
+ expect(Simple::Httpd::VERSION).to match(/^\d+\.\d+\.\d+/)
7
+ end
8
+ end
9
+
10
+ describe "root routing" do
11
+ it "resolves routes from root.rb" do
12
+ http.get "/"
13
+ expect_response "root"
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,33 @@
1
+ require "spec_helper"
2
+
3
+ describe "dynamic mounting" do
4
+ it "resolves routes from root.rb" do
5
+ http.get "/"
6
+ expect_response "root"
7
+ end
8
+
9
+ # mounting not at root level
10
+ it "gets deep route from a root.rb file not mounted at /" do
11
+ http.get "/api/v2"
12
+ expect(http.content).to eq("version" => "v2")
13
+ expect(http.response.headers["content-type"]).to match(/application\/json/)
14
+ end
15
+
16
+ it "gets deep route from static file" do
17
+ http.get "/api/v2/api.js"
18
+ expect_response /API example file/
19
+ expect(http.response.headers["content-type"]).to match(/application\/javascript/)
20
+ end
21
+
22
+ it "gets deep route from non-root.rb file" do
23
+ http.get "/api/v2/jobs/info"
24
+ expect_response "info"
25
+ expect(http.response.headers["content-type"]).to match(/text\/plain/)
26
+ end
27
+
28
+ it "gets deep route with params from non-root.rb file" do
29
+ http.get "/api/v2/jobs/12/events"
30
+ expect(http.response.headers["content-type"]).to match(/application\/json/)
31
+ expect(http.content).to eq([{ "job_id" => "12", "id" => "event1" }, { "job_id" => "12", "id" => "event2" }])
32
+ end
33
+ end
@@ -0,0 +1,15 @@
1
+ require "spec_helper"
2
+
3
+ describe Simple::Httpd do
4
+ describe "helpers" do
5
+ it "loads helpers from the same directory tree" do
6
+ http.get "/helpers/ex2"
7
+ expect_response "ex2_helper"
8
+ end
9
+
10
+ it "does not load helpers from other directory tree even on the same URL tree" do
11
+ http.get "/helpers/ex1"
12
+ expect_response status: 404
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ require "spec_helper"
2
+
3
+ describe "RSpec::Httpd features" do
4
+ it "sends proper headers" do
5
+ http.get "/info/inspect?qux"
6
+
7
+ result_lines = http.content.split("\n")
8
+
9
+ expect(result_lines).to include("QUERY_STRING=qux")
10
+ expect(result_lines).to include("REQUEST_METHOD=GET")
11
+ expect(result_lines).to include("REQUEST_PATH=/info/inspect")
12
+ expect(result_lines).to include("SERVER_NAME=127.0.0.1")
13
+ expect(result_lines).to include("SERVER_PORT=12345")
14
+
15
+ expect(http.response.headers["content-type"]).to match(/text\/plain/)
16
+ end
17
+ end
@@ -0,0 +1,34 @@
1
+ require "spec_helper"
2
+
3
+ describe "explicit mounting of service" do
4
+ # mounting not at root level
5
+ it "mounts the file" do
6
+ http.get "/example_service/check"
7
+ expect_response("ok: explicit_service")
8
+ end
9
+
10
+ it "properly extracts an argument from the path" do
11
+ http.post "/example_service/echo/1?b=2", { one: "foo", two: "bar" }
12
+ expect_response "one: [foo]/two: [bar]/a: [1]/b: [2]"
13
+ end
14
+
15
+ it "ignores extra body arguments and extra parameters" do
16
+ http.post "/example_service/echo/1?b=2&c=3", { one: "foo", two: "bar", three: "baz" }
17
+ expect_response "one: [foo]/two: [bar]/a: [1]/b: [2]"
18
+ end
19
+
20
+ it "complains on missing body arguments" do
21
+ http.post "/example_service/echo/1?b=2&c=3", { two: "bar" }
22
+ expect_response 422
23
+ end
24
+
25
+ it "ignores missing parameters arguments" do
26
+ http.post "/example_service/echo/1", { one: "foo", two: "bar" }
27
+ expect_response "one: [foo]/two: [bar]/a: [1]/b: []"
28
+ end
29
+
30
+ it "properly extracts arguments and parameters" do
31
+ http.put "/example_service/echo_context"
32
+ expect_response /Simple::Service::Context/
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ require "spec_helper"
2
+
3
+ describe "service file" do
4
+ # mounting not at root level
5
+ it "returns value from mapped function" do
6
+ http.post "/service/example/test?a=1&b=2"
7
+ expect_response("hello from ExampleService#test")
8
+ end
9
+
10
+ it "properly extracts arguments and parameters" do
11
+ http.post "/service/example/echo?a=1&b=2", { one: "foo", two: "bar" }
12
+ expect_response "one: [foo]/two: [bar]/a: [1]/b: [2]"
13
+ end
14
+
15
+ it "ignores extra body arguments and extra parameters" do
16
+ http.post "/service/example/echo?a=1&b=2&c=3", { one: "foo", two: "bar", three: "baz" }
17
+ expect_response "one: [foo]/two: [bar]/a: [1]/b: [2]"
18
+ end
19
+
20
+ it "complains on missing body arguments" do
21
+ http.post "/service/example/echo?a=1&b=2&c=3", { two: "bar" }
22
+ expect_response 422
23
+ end
24
+
25
+ it "ignores missing parameters arguments" do
26
+ http.post "/service/example/echo?b=2", { one: "foo", two: "bar" }
27
+ expect_response "one: [foo]/two: [bar]/a: []/b: [2]"
28
+ end
29
+
30
+ it "properly extracts arguments and parameters" do
31
+ http.post "/service/example/echo_context"
32
+ expect_response /Simple::Service::Context/
33
+ end
34
+ end
@@ -0,0 +1,13 @@
1
+ require "spec_helper"
2
+
3
+ describe "static mounting" do
4
+ it "returns a static file" do
5
+ http.get "/README.txt"
6
+ expect_response "This is a README file\n"
7
+ end
8
+
9
+ it "does not return a forbidden static file" do
10
+ http.get "/root.rb"
11
+ expect_response 404
12
+ end
13
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,14 +1,36 @@
1
- %w(auth authentication authorization).each do |library_name|
2
- path = File.expand_path("../../#{library_name}/lib", __FILE__)
3
- $LOAD_PATH.unshift(path) unless $LOAD_PATH.include?(path)
4
- end
5
-
6
1
  ENV["RACK_ENV"] = "test"
7
2
  ENV["RAILS_ENV"] = "test"
8
3
 
9
4
  require "byebug"
10
5
  require "rspec"
11
- require "awesome_print"
6
+ require "rspec-httpd"
7
+
8
+ if ENV["PRELOAD_SERVER_GEM"]
9
+ require ENV["PRELOAD_SERVER_GEM"]
10
+ end
11
+
12
+ # You can comment parts of the command below by prepending the line with a '#'
13
+ HTTPD_COMMAND = <<~CMD
14
+ PORT=12345
15
+ bin/simple-httpd
16
+ --environment=test
17
+ examples/ex1
18
+ examples/ex2
19
+ examples/ex3
20
+ examples/v2:api/v2
21
+ --services=examples/services
22
+ Example::Service:service/example
23
+ 2> log/test.log
24
+ CMD
25
+
26
+ RSpec::Httpd.configure do |config|
27
+ config.host = "127.0.0.1"
28
+ config.port = 12_345
29
+
30
+ # remove commented parts from HTTPD_COMMAND
31
+ config.command = HTTPD_COMMAND.split(/\s*\n\s*/m).grep(/^\s*[^#]/).join(" ")
32
+ end
33
+
12
34
  Dir.glob("./spec/support/**/*.rb").sort.each { |path| load path }
13
35
 
14
36
  require "simple/httpd"
@@ -24,6 +46,8 @@ RSpec.configure do |config|
24
46
  config.backtrace_exclusion_patterns << /spec_helper/
25
47
  config.backtrace_exclusion_patterns << /database_cleaner/
26
48
 
49
+ config.include ::RSpec::Httpd
50
+
27
51
  # config.around(:each) do |example|
28
52
  # example.run
29
53
  # end
@@ -1,22 +1,13 @@
1
1
  require "simplecov"
2
2
 
3
- # make sure multiple runs result in multiple result set. SimpleCov will take
4
- # care of merging these results automatically.
5
- SimpleCov.command_name "test:#{ENV['USE_ACTIVE_RECORD']}"
6
-
7
- USE_ACTIVE_RECORD = ENV["USE_ACTIVE_RECORD"] == "1"
8
-
9
3
  SimpleCov.start do
10
- # return true to remove src from coverage
4
+ # return true to remove src from coverage
11
5
  add_filter do |src|
12
6
  next true if src.filename =~ /\/spec\//
13
- next true if src.filename =~ /\/immutable\.rb/
14
-
15
- next true if USE_ACTIVE_RECORD && src.filename =~ /\/sql\/connection\/raw_connection\.rb/
16
- next true if !USE_ACTIVE_RECORD && src.filename =~ /\/sql\/connection\/active_record_connection\.rb/
7
+ next true if src.filename =~ /\/version.rb$/
17
8
 
18
9
  false
19
10
  end
20
11
 
21
- minimum_coverage 90
12
+ # minimum_coverage 90
22
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple-httpd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - radiospiel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-16 00:00:00.000000000 Z
11
+ date: 2019-11-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: neatjson
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2'
41
41
  - !ruby/object:Gem::Dependency
42
- name: sinatra-reloader
42
+ name: expectation
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
@@ -53,89 +53,19 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec-httpd
56
+ name: simple-cli
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.0.14
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 0.0.14
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '11'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '11'
83
- - !ruby/object:Gem::Dependency
84
- name: rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '3.7'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '3.7'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: 0.61.1
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: 0.61.1
111
- - !ruby/object:Gem::Dependency
112
- name: simplecov
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: awesome_print
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
61
+ version: 0.3.0
62
+ type: :runtime
133
63
  prerelease: false
134
64
  version_requirements: !ruby/object:Gem::Requirement
135
65
  requirements:
136
66
  - - "~>"
137
67
  - !ruby/object:Gem::Version
138
- version: '0'
68
+ version: 0.3.0
139
69
  description: Super-simple HTTPD server - sinatra w/gimmiks
140
70
  email: eno@radiospiel.org
141
71
  executables: []
@@ -144,7 +74,9 @@ extra_rdoc_files: []
144
74
  files:
145
75
  - ".gitignore"
146
76
  - ".rubocop.yml"
77
+ - ".tm_properties"
147
78
  - Gemfile
79
+ - Makefile
148
80
  - README.md
149
81
  - Rakefile
150
82
  - VERSION
@@ -153,11 +85,26 @@ files:
153
85
  - bin/rake
154
86
  - bin/rspec
155
87
  - bin/rubocop
88
+ - bin/simple-httpd
89
+ - examples/README.md
90
+ - examples/ex1/ex1_helpers.rb
91
+ - examples/ex1/root.rb
92
+ - examples/ex2/README.txt
93
+ - examples/ex2/ex2_helpers.rb
94
+ - examples/ex2/helpers.rb
95
+ - examples/ex2/info.rb
96
+ - examples/ex2/root.rb
97
+ - examples/ex3/example_service.rb
98
+ - examples/services/example_service.rb
99
+ - examples/services/explicit_example_service.rb
100
+ - examples/v2/api.js
101
+ - examples/v2/jobs.rb
102
+ - examples/v2/root.rb
103
+ - examples/v2/v2_helpers.rb
156
104
  - lib/simple-httpd.rb
105
+ - lib/simple-service.rb
157
106
  - lib/simple.rb
158
107
  - lib/simple/httpd.rb
159
- - lib/simple/httpd/app.rb
160
- - lib/simple/httpd/app/file_server.rb
161
108
  - lib/simple/httpd/base_controller.rb
162
109
  - lib/simple/httpd/base_controller/build_url.rb
163
110
  - lib/simple/httpd/base_controller/cors.rb
@@ -165,15 +112,37 @@ files:
165
112
  - lib/simple/httpd/base_controller/error_handling.rb
166
113
  - lib/simple/httpd/base_controller/json.rb
167
114
  - lib/simple/httpd/base_controller/x_processing.rb
115
+ - lib/simple/httpd/cli.rb
116
+ - lib/simple/httpd/helpers.rb
117
+ - lib/simple/httpd/mount_spec.rb
118
+ - lib/simple/httpd/rack.rb
119
+ - lib/simple/httpd/rack/dynamic_mount.rb
120
+ - lib/simple/httpd/rack/merger.rb
121
+ - lib/simple/httpd/rack/static_mount.rb
122
+ - lib/simple/httpd/server.rb
123
+ - lib/simple/httpd/service.rb
168
124
  - lib/simple/httpd/version.rb
125
+ - lib/simple/service.rb
126
+ - lib/simple/service/action.rb
127
+ - lib/simple/service/context.rb
169
128
  - log/.gitkeep
129
+ - scripts/release
130
+ - scripts/release.rb
170
131
  - scripts/stats
171
132
  - scripts/watch
172
133
  - simple-httpd.gemspec
173
- - spec/simple/httpd/version_spec.rb
134
+ - spec/simple/httpd/base_controller/httpd_cors_spec.rb
135
+ - spec/simple/httpd/base_controller/httpd_debug_spec.rb
136
+ - spec/simple/httpd/base_controller/httpd_x_processing_copy.rb
137
+ - spec/simple/httpd/base_spec.rb
138
+ - spec/simple/httpd/dynamic_mounting_spec.rb
139
+ - spec/simple/httpd/helpers_spec.rb
140
+ - spec/simple/httpd/rspec_httpd_spec.rb
141
+ - spec/simple/httpd/services/service_explicit_spec.rb
142
+ - spec/simple/httpd/services/service_spec.rb
143
+ - spec/simple/httpd/static_mounting_spec.rb
174
144
  - spec/spec_helper.rb
175
145
  - spec/support/004_simplecov.rb
176
- - tasks/release.rake
177
146
  homepage: http://github.com/radiospiel/simple-httpd
178
147
  licenses: []
179
148
  metadata: {}
@@ -192,12 +161,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
161
  - !ruby/object:Gem::Version
193
162
  version: '0'
194
163
  requirements: []
195
- rubyforge_project:
196
- rubygems_version: 2.7.6
164
+ rubygems_version: 3.0.4
197
165
  signing_key:
198
166
  specification_version: 4
199
167
  summary: Super-simple HTTPD server
200
168
  test_files:
201
- - spec/simple/httpd/version_spec.rb
169
+ - spec/simple/httpd/base_controller/httpd_cors_spec.rb
170
+ - spec/simple/httpd/base_controller/httpd_debug_spec.rb
171
+ - spec/simple/httpd/base_controller/httpd_x_processing_copy.rb
172
+ - spec/simple/httpd/base_spec.rb
173
+ - spec/simple/httpd/dynamic_mounting_spec.rb
174
+ - spec/simple/httpd/helpers_spec.rb
175
+ - spec/simple/httpd/rspec_httpd_spec.rb
176
+ - spec/simple/httpd/services/service_explicit_spec.rb
177
+ - spec/simple/httpd/services/service_spec.rb
178
+ - spec/simple/httpd/static_mounting_spec.rb
202
179
  - spec/spec_helper.rb
203
180
  - spec/support/004_simplecov.rb