http2 0.0.28 → 0.0.33

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 +150 -28
  3. data/Rakefile +20 -31
  4. data/lib/http2.rb +105 -70
  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 +75 -42
  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 +73 -0
  25. data/spec/http2/url_builder_spec.rb +1 -1
  26. data/spec/http2_spec.rb +107 -89
  27. data/spec/spec_helper.rb +8 -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 +118 -36
  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 -77
  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 -7
@@ -1,17 +1,17 @@
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"
8
6
 
9
7
  # Requires supporting files with custom matchers and macros, etc,
10
8
  # in ./support/ and its subdirectories.
11
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
12
10
 
13
11
  RSpec.configure do |config|
14
12
  config.expect_with :rspec do |c|
15
- c.syntax = [:expect, :should]
13
+ c.syntax = [:expect]
16
14
  end
15
+
16
+ config.include Helpers
17
17
  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,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.28
4
+ version: 0.0.33
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-03 00:00:00.000000000 Z
11
+ date: 2020-12-05 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: hayabusa
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - "~>"
32
60
  - !ruby/object:Gem::Version
33
- version: 2.8.0
61
+ version: 0.0.28
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - "~>"
39
67
  - !ruby/object:Gem::Version
40
- version: 2.8.0
68
+ version: 0.0.28
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: rdoc
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
- - - "~>"
87
+ - - ">="
46
88
  - !ruby/object:Gem::Version
47
- version: '3.12'
89
+ version: '0'
48
90
  type: :development
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
- - - "~>"
94
+ - - ">="
53
95
  - !ruby/object:Gem::Version
54
- version: '3.12'
96
+ version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
- name: bundler
98
+ name: rspec
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - ">="
60
102
  - !ruby/object:Gem::Version
61
- version: 1.0.0
103
+ version: '0'
62
104
  type: :development
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
108
  - - ">="
67
109
  - !ruby/object:Gem::Version
68
- version: 1.0.0
110
+ version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: jeweler
112
+ name: rubocop
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: 1.8.4
117
+ version: '0'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
122
  - - ">="
81
123
  - !ruby/object:Gem::Version
82
- version: 1.8.4
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: sqlite3
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'
83
139
  description: A lightweight framework for doing http-connections in Ruby. Supports
84
140
  cookies, keep-alive, compressing and much more.
85
141
  email: k@spernj.org
@@ -89,31 +145,40 @@ extra_rdoc_files:
89
145
  - LICENSE.txt
90
146
  - README.md
91
147
  files:
92
- - ".document"
93
- - ".rspec"
94
- - Gemfile
95
- - Gemfile.lock
96
148
  - LICENSE.txt
97
149
  - README.md
98
150
  - 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
151
  - lib/http2.rb
112
- - shippable.yml
152
+ - lib/http2/base_request.rb
153
+ - lib/http2/connection.rb
154
+ - lib/http2/cookie.rb
155
+ - lib/http2/errors.rb
156
+ - lib/http2/get_request.rb
157
+ - lib/http2/post_data_generator.rb
158
+ - lib/http2/post_multipart_request.rb
159
+ - lib/http2/post_request.rb
160
+ - lib/http2/response.rb
161
+ - lib/http2/response_reader.rb
162
+ - lib/http2/url_builder.rb
163
+ - lib/http2/utils.rb
164
+ - spec/helpers.rb
165
+ - spec/http2/cookies_spec.rb
166
+ - spec/http2/get_request_spec.rb
113
167
  - spec/http2/post_data_generator_spec.rb
168
+ - spec/http2/post_multipart_request_spec.rb
169
+ - spec/http2/post_request_spec.rb
170
+ - spec/http2/response_reader_spec.rb
171
+ - spec/http2/response_spec.rb
114
172
  - spec/http2/url_builder_spec.rb
115
173
  - spec/http2_spec.rb
116
174
  - spec/spec_helper.rb
175
+ - spec/spec_root/content_type_test.rhtml
176
+ - spec/spec_root/cookie_test.rhtml
177
+ - spec/spec_root/json_test.rhtml
178
+ - spec/spec_root/multipart_test.rhtml
179
+ - spec/spec_root/redirect_test.rhtml
180
+ - spec/spec_root/unauthorized.rhtml
181
+ - spec/spec_root/unsupported_media_type.rhtml
117
182
  homepage: http://github.com/kaspernj/http2
118
183
  licenses:
119
184
  - MIT
@@ -133,10 +198,27 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
198
  - !ruby/object:Gem::Version
134
199
  version: '0'
135
200
  requirements: []
136
- rubyforge_project:
137
- rubygems_version: 2.4.0
201
+ rubygems_version: 3.0.4
138
202
  signing_key:
139
203
  specification_version: 4
140
204
  summary: A lightweight framework for doing http-connections in Ruby. Supports cookies,
141
205
  keep-alive, compressing and much more.
142
- test_files: []
206
+ test_files:
207
+ - spec/http2_spec.rb
208
+ - spec/spec_root/multipart_test.rhtml
209
+ - spec/spec_root/unauthorized.rhtml
210
+ - spec/spec_root/cookie_test.rhtml
211
+ - spec/spec_root/json_test.rhtml
212
+ - spec/spec_root/unsupported_media_type.rhtml
213
+ - spec/spec_root/content_type_test.rhtml
214
+ - spec/spec_root/redirect_test.rhtml
215
+ - spec/helpers.rb
216
+ - spec/spec_helper.rb
217
+ - spec/http2/cookies_spec.rb
218
+ - spec/http2/get_request_spec.rb
219
+ - spec/http2/response_reader_spec.rb
220
+ - spec/http2/post_data_generator_spec.rb
221
+ - spec/http2/url_builder_spec.rb
222
+ - spec/http2/post_multipart_request_spec.rb
223
+ - spec/http2/response_spec.rb
224
+ - 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
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.0.28