http2 0.0.29 → 0.0.34

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