http2 0.0.29 → 0.0.34

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 (46) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +131 -30
  3. data/Rakefile +20 -31
  4. data/lib/http2.rb +85 -67
  5. data/lib/http2/base_request.rb +22 -0
  6. data/{include → lib/http2}/connection.rb +56 -28
  7. data/lib/http2/cookie.rb +22 -0
  8. data/lib/http2/errors.rb +18 -0
  9. data/lib/http2/get_request.rb +33 -0
  10. data/{include → lib/http2}/post_data_generator.rb +7 -6
  11. data/{include → lib/http2}/post_multipart_request.rb +20 -20
  12. data/{include → lib/http2}/post_request.rb +17 -22
  13. data/lib/http2/response.rb +109 -0
  14. data/{include → lib/http2}/response_reader.rb +74 -41
  15. data/{include → lib/http2}/url_builder.rb +6 -6
  16. data/lib/http2/utils.rb +52 -0
  17. data/spec/helpers.rb +27 -0
  18. data/spec/http2/cookies_spec.rb +18 -0
  19. data/spec/http2/get_request_spec.rb +11 -0
  20. data/spec/http2/post_data_generator_spec.rb +2 -1
  21. data/spec/http2/post_multipart_request_spec.rb +11 -0
  22. data/spec/http2/post_request_spec.rb +11 -0
  23. data/spec/http2/response_reader_spec.rb +12 -0
  24. data/spec/http2/response_spec.rb +84 -8
  25. data/spec/http2/url_builder_spec.rb +1 -1
  26. data/spec/http2_spec.rb +104 -85
  27. data/spec/spec_helper.rb +9 -8
  28. data/spec/spec_root/content_type_test.rhtml +4 -0
  29. data/spec/spec_root/cookie_test.rhtml +8 -0
  30. data/spec/spec_root/json_test.rhtml +9 -0
  31. data/spec/spec_root/multipart_test.rhtml +28 -0
  32. data/spec/spec_root/redirect_test.rhtml +3 -0
  33. data/spec/spec_root/unauthorized.rhtml +3 -0
  34. data/spec/spec_root/unsupported_media_type.rhtml +3 -0
  35. metadata +131 -35
  36. data/.document +0 -5
  37. data/.rspec +0 -1
  38. data/Gemfile +0 -14
  39. data/Gemfile.lock +0 -77
  40. data/VERSION +0 -1
  41. data/http2.gemspec +0 -78
  42. data/include/errors.rb +0 -11
  43. data/include/get_request.rb +0 -34
  44. data/include/response.rb +0 -73
  45. data/include/utils.rb +0 -40
  46. data/shippable.yml +0 -9
@@ -1,17 +1,18 @@
1
- require "codeclimate-test-reporter"
2
- CodeClimate::TestReporter.start
3
-
4
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
5
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
- require 'rspec'
7
- require 'http2'
3
+ require "rspec"
4
+ require "http2"
5
+ require "helpers"
6
+ require "json"
8
7
 
9
8
  # Requires supporting files with custom matchers and macros, etc,
10
9
  # in ./support/ and its subdirectories.
11
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
12
11
 
13
12
  RSpec.configure do |config|
14
13
  config.expect_with :rspec do |c|
15
- c.syntax = [:expect, :should]
14
+ c.syntax = [:expect]
16
15
  end
16
+
17
+ config.include Helpers
17
18
  end
@@ -0,0 +1,4 @@
1
+ <%= {
2
+ "_SERVER" => _meta,
3
+ "_POST" => _post
4
+ }.to_json %>
@@ -0,0 +1,8 @@
1
+ <%
2
+ _hb.cookie(
3
+ "name" => "TestCookie",
4
+ "value" => "TestValue",
5
+ "expires" => Time.new + 3600,
6
+ "path" => "/"
7
+ )
8
+ %>
@@ -0,0 +1,9 @@
1
+ <%
2
+ _hb.header("Content-Type", "application/json")
3
+
4
+ print JSON.generate(
5
+ "_SERVER" => _meta,
6
+ "_POST" => _post,
7
+ # "PHP_JSON_INPUT" => json_decode(file_get_contents('php://input'))
8
+ )
9
+ %>
@@ -0,0 +1,28 @@
1
+ <%
2
+ if _get["choice"] == "post-test"
3
+ print _post.to_json
4
+ elsif _get["choice"] == "file-test"
5
+ print File.read(_files["file"]["tmp_name"])
6
+ else
7
+ files = {}
8
+ files_hash = {}
9
+
10
+ _post.each do |key, val|
11
+ if val.is_a?(Hayabusa::Http_session::Post_multipart::File_upload)
12
+ files[key] = val.to_s
13
+ files_hash = {
14
+ "tmpname" => val.filename
15
+ }
16
+
17
+ _post[key] = {"tmpname" => val.filename}
18
+ end
19
+ end
20
+
21
+ print JSON.generate(
22
+ "get" => _get,
23
+ "post" => _post,
24
+ "files" => files_hash,
25
+ "files_data" => files
26
+ )
27
+ end
28
+ %>
@@ -0,0 +1,3 @@
1
+ <%
2
+ Knj::Web.redirect(_get["redirect_to"] || "/content_type_test.rhtml")
3
+ %>
@@ -0,0 +1,3 @@
1
+ <%
2
+ _httpsession.resp.status = 401
3
+ %>
@@ -0,0 +1,3 @@
1
+ <%
2
+ _httpsession.resp.status = 415
3
+ %>
metadata CHANGED
@@ -1,85 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.29
4
+ version: 0.0.34
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Johansen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-04 00:00:00.000000000 Z
11
+ date: 2020-12-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string-cases
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: best_practice_project
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - ">="
25
39
  - !ruby/object:Gem::Version
26
40
  version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
- name: rspec
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: json
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: hayabusa
29
71
  requirement: !ruby/object:Gem::Requirement
30
72
  requirements:
31
73
  - - "~>"
32
74
  - !ruby/object:Gem::Version
33
- version: 2.8.0
75
+ version: 0.0.28
34
76
  type: :development
35
77
  prerelease: false
36
78
  version_requirements: !ruby/object:Gem::Requirement
37
79
  requirements:
38
80
  - - "~>"
39
81
  - !ruby/object:Gem::Version
40
- version: 2.8.0
82
+ version: 0.0.28
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
41
97
  - !ruby/object:Gem::Dependency
42
98
  name: rdoc
43
99
  requirement: !ruby/object:Gem::Requirement
44
100
  requirements:
45
- - - "~>"
101
+ - - ">="
46
102
  - !ruby/object:Gem::Version
47
- version: '3.12'
103
+ version: '0'
48
104
  type: :development
49
105
  prerelease: false
50
106
  version_requirements: !ruby/object:Gem::Requirement
51
107
  requirements:
52
- - - "~>"
108
+ - - ">="
53
109
  - !ruby/object:Gem::Version
54
- version: '3.12'
110
+ version: '0'
55
111
  - !ruby/object:Gem::Dependency
56
- name: bundler
112
+ name: rspec
57
113
  requirement: !ruby/object:Gem::Requirement
58
114
  requirements:
59
115
  - - ">="
60
116
  - !ruby/object:Gem::Version
61
- version: 1.0.0
117
+ version: '0'
62
118
  type: :development
63
119
  prerelease: false
64
120
  version_requirements: !ruby/object:Gem::Requirement
65
121
  requirements:
66
122
  - - ">="
67
123
  - !ruby/object:Gem::Version
68
- version: 1.0.0
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
69
139
  - !ruby/object:Gem::Dependency
70
- name: jeweler
140
+ name: sqlite3
71
141
  requirement: !ruby/object:Gem::Requirement
72
142
  requirements:
73
143
  - - ">="
74
144
  - !ruby/object:Gem::Version
75
- version: 1.8.4
145
+ version: '0'
76
146
  type: :development
77
147
  prerelease: false
78
148
  version_requirements: !ruby/object:Gem::Requirement
79
149
  requirements:
80
150
  - - ">="
81
151
  - !ruby/object:Gem::Version
82
- version: 1.8.4
152
+ version: '0'
83
153
  description: A lightweight framework for doing http-connections in Ruby. Supports
84
154
  cookies, keep-alive, compressing and much more.
85
155
  email: k@spernj.org
@@ -89,32 +159,40 @@ extra_rdoc_files:
89
159
  - LICENSE.txt
90
160
  - README.md
91
161
  files:
92
- - ".document"
93
- - ".rspec"
94
- - Gemfile
95
- - Gemfile.lock
96
162
  - LICENSE.txt
97
163
  - README.md
98
164
  - Rakefile
99
- - VERSION
100
- - http2.gemspec
101
- - include/connection.rb
102
- - include/errors.rb
103
- - include/get_request.rb
104
- - include/post_data_generator.rb
105
- - include/post_multipart_request.rb
106
- - include/post_request.rb
107
- - include/response.rb
108
- - include/response_reader.rb
109
- - include/url_builder.rb
110
- - include/utils.rb
111
165
  - lib/http2.rb
112
- - shippable.yml
166
+ - lib/http2/base_request.rb
167
+ - lib/http2/connection.rb
168
+ - lib/http2/cookie.rb
169
+ - lib/http2/errors.rb
170
+ - lib/http2/get_request.rb
171
+ - lib/http2/post_data_generator.rb
172
+ - lib/http2/post_multipart_request.rb
173
+ - lib/http2/post_request.rb
174
+ - lib/http2/response.rb
175
+ - lib/http2/response_reader.rb
176
+ - lib/http2/url_builder.rb
177
+ - lib/http2/utils.rb
178
+ - spec/helpers.rb
179
+ - spec/http2/cookies_spec.rb
180
+ - spec/http2/get_request_spec.rb
113
181
  - spec/http2/post_data_generator_spec.rb
182
+ - spec/http2/post_multipart_request_spec.rb
183
+ - spec/http2/post_request_spec.rb
184
+ - spec/http2/response_reader_spec.rb
114
185
  - spec/http2/response_spec.rb
115
186
  - spec/http2/url_builder_spec.rb
116
187
  - spec/http2_spec.rb
117
188
  - spec/spec_helper.rb
189
+ - spec/spec_root/content_type_test.rhtml
190
+ - spec/spec_root/cookie_test.rhtml
191
+ - spec/spec_root/json_test.rhtml
192
+ - spec/spec_root/multipart_test.rhtml
193
+ - spec/spec_root/redirect_test.rhtml
194
+ - spec/spec_root/unauthorized.rhtml
195
+ - spec/spec_root/unsupported_media_type.rhtml
118
196
  homepage: http://github.com/kaspernj/http2
119
197
  licenses:
120
198
  - MIT
@@ -135,9 +213,27 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
213
  version: '0'
136
214
  requirements: []
137
215
  rubyforge_project:
138
- rubygems_version: 2.4.0
216
+ rubygems_version: 2.7.9
139
217
  signing_key:
140
218
  specification_version: 4
141
219
  summary: A lightweight framework for doing http-connections in Ruby. Supports cookies,
142
220
  keep-alive, compressing and much more.
143
- test_files: []
221
+ test_files:
222
+ - spec/http2_spec.rb
223
+ - spec/spec_root/multipart_test.rhtml
224
+ - spec/spec_root/unauthorized.rhtml
225
+ - spec/spec_root/cookie_test.rhtml
226
+ - spec/spec_root/json_test.rhtml
227
+ - spec/spec_root/unsupported_media_type.rhtml
228
+ - spec/spec_root/content_type_test.rhtml
229
+ - spec/spec_root/redirect_test.rhtml
230
+ - spec/helpers.rb
231
+ - spec/spec_helper.rb
232
+ - spec/http2/cookies_spec.rb
233
+ - spec/http2/get_request_spec.rb
234
+ - spec/http2/response_reader_spec.rb
235
+ - spec/http2/post_data_generator_spec.rb
236
+ - spec/http2/url_builder_spec.rb
237
+ - spec/http2/post_multipart_request_spec.rb
238
+ - spec/http2/response_spec.rb
239
+ - spec/http2/post_request_spec.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/Gemfile DELETED
@@ -1,14 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- gem "string-cases"
4
-
5
- # Add dependencies to develop your gem here.
6
- # Include everything needed to run rake, tests, features, etc.
7
- group :development do
8
- gem "rspec", "~> 2.8.0"
9
- gem "rdoc", "~> 3.12"
10
- gem "bundler", ">= 1.0.0"
11
- gem "jeweler", ">= 1.8.4"
12
- end
13
-
14
- gem "codeclimate-test-reporter", group: :test, require: nil
@@ -1,77 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- addressable (2.3.6)
5
- builder (3.2.2)
6
- codeclimate-test-reporter (0.4.0)
7
- simplecov (>= 0.7.1, < 1.0.0)
8
- descendants_tracker (0.0.4)
9
- thread_safe (~> 0.3, >= 0.3.1)
10
- diff-lcs (1.1.3)
11
- docile (1.1.5)
12
- faraday (0.9.0)
13
- multipart-post (>= 1.2, < 3)
14
- git (1.2.8)
15
- github_api (0.12.0)
16
- addressable (~> 2.3)
17
- descendants_tracker (~> 0.0.4)
18
- faraday (~> 0.8, < 0.10)
19
- hashie (>= 3.2)
20
- multi_json (>= 1.7.5, < 2.0)
21
- nokogiri (~> 1.6.3)
22
- oauth2
23
- hashie (3.2.0)
24
- highline (1.6.21)
25
- jeweler (2.0.1)
26
- builder
27
- bundler (>= 1.0)
28
- git (>= 1.2.5)
29
- github_api
30
- highline (>= 1.6.15)
31
- nokogiri (>= 1.5.10)
32
- rake
33
- rdoc
34
- json (1.8.1)
35
- jwt (1.0.0)
36
- mini_portile (0.6.0)
37
- multi_json (1.10.1)
38
- multi_xml (0.5.5)
39
- multipart-post (2.0.0)
40
- nokogiri (1.6.3.1)
41
- mini_portile (= 0.6.0)
42
- oauth2 (1.0.0)
43
- faraday (>= 0.8, < 0.10)
44
- jwt (~> 1.0)
45
- multi_json (~> 1.3)
46
- multi_xml (~> 0.5)
47
- rack (~> 1.2)
48
- rack (1.5.2)
49
- rake (10.3.2)
50
- rdoc (3.12.2)
51
- json (~> 1.4)
52
- rspec (2.8.0)
53
- rspec-core (~> 2.8.0)
54
- rspec-expectations (~> 2.8.0)
55
- rspec-mocks (~> 2.8.0)
56
- rspec-core (2.8.0)
57
- rspec-expectations (2.8.0)
58
- diff-lcs (~> 1.1.2)
59
- rspec-mocks (2.8.0)
60
- simplecov (0.9.0)
61
- docile (~> 1.1.0)
62
- multi_json
63
- simplecov-html (~> 0.8.0)
64
- simplecov-html (0.8.0)
65
- string-cases (0.0.0)
66
- thread_safe (0.3.4)
67
-
68
- PLATFORMS
69
- ruby
70
-
71
- DEPENDENCIES
72
- bundler (>= 1.0.0)
73
- codeclimate-test-reporter
74
- jeweler (>= 1.8.4)
75
- rdoc (~> 3.12)
76
- rspec (~> 2.8.0)
77
- string-cases