http2 0.0.31 → 0.0.32

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,7 +11,7 @@ describe Http2::UrlBuilder do
11
11
  ub.params["test"] = "true"
12
12
  ub.params["test2"] = "false"
13
13
 
14
- ub.build.should eq "https://www.github.com:443/index.php?test=true&test2=false"
14
+ expect(ub.build).to eq "https://www.github.com:443/index.php?test=true&test2=false"
15
15
  end
16
16
  end
17
17
  end
@@ -3,40 +3,43 @@ require "json"
3
3
 
4
4
  describe "Http2" do
5
5
  it "should be able to do normal post-requests." do
6
- #Test posting keep-alive and advanced post-data.
6
+ # Test posting keep-alive and advanced post-data.
7
7
  with_http do |http|
8
8
  0.upto(5) do
9
- resp = http.get("multipart_test.rhtml")
10
-
11
- resp = http.post(url: "multipart_test.rhtml?choice=post-test", post: {
12
- "val1" => "test1",
13
- "val2" => "test2",
14
- "val3" => [
15
- "test3"
16
- ],
17
- "val4" => {
18
- "val5" => "test5"
19
- },
20
- "val6" => {
21
- "val7" => [
22
- {
23
- "val8" => "test8"
24
- }
25
- ]
26
- },
27
- "val9" => ["a", "b", "d"]
28
- })
9
+ http.get("multipart_test.rhtml")
10
+
11
+ resp = http.post(
12
+ url: "multipart_test.rhtml?choice=post-test",
13
+ post: {
14
+ "val1" => "test1",
15
+ "val2" => "test2",
16
+ "val3" => [
17
+ "test3"
18
+ ],
19
+ "val4" => {
20
+ "val5" => "test5"
21
+ },
22
+ "val6" => {
23
+ "val7" => [
24
+ {
25
+ "val8" => "test8"
26
+ }
27
+ ]
28
+ },
29
+ "val9" => ["a", "b", "d"]
30
+ }
31
+ )
29
32
  res = JSON.parse(resp.body)
30
33
 
31
- res.is_a?(Hash).should eq true
32
- res["val1"].should eq "test1"
33
- res["val2"].should eq "test2"
34
- res["val3"]["0"].should eq "test3"
35
- res["val4"]["val5"].should eq "test5"
36
- res["val6"]["val7"]["0"]["val8"].should eq "test8"
37
- res["val9"]["0"].should eq "a"
38
- res["val9"]["1"].should eq "b"
39
- res["val9"]["2"].should eq "d"
34
+ expect(res.is_a?(Hash)).to eq true
35
+ expect(res["val1"]).to eq "test1"
36
+ expect(res["val2"]).to eq "test2"
37
+ expect(res["val3"]["0"]).to eq "test3"
38
+ expect(res["val4"]["val5"]).to eq "test5"
39
+ expect(res["val6"]["val7"]["0"]["val8"]).to eq "test8"
40
+ expect(res["val9"]["0"]).to eq "a"
41
+ expect(res["val9"]["1"]).to eq "b"
42
+ expect(res["val9"]["2"]).to eq "d"
40
43
  end
41
44
  end
42
45
  end
@@ -47,7 +50,7 @@ describe "Http2" do
47
50
  http.reconnect
48
51
  resp2 = http.get("multipart_test.rhtml")
49
52
 
50
- resp1.body.should eq resp2.body
53
+ expect(resp1.body).to eq resp2.body
51
54
  end
52
55
  end
53
56
 
@@ -57,23 +60,26 @@ describe "Http2" do
57
60
  fpath = File.realpath(__FILE__)
58
61
  fpath2 = "#{File.realpath(File.dirname(__FILE__))}/../lib/http2.rb"
59
62
 
60
- resp = http.post_multipart(url: "multipart_test.rhtml", post: {
61
- "test_var" => "true",
62
- "test_file1" => {
63
- fpath: fpath,
64
- filename: "specfile"
65
- },
66
- "test_file2" => {
67
- fpath: fpath2,
68
- filename: "http2.rb"
63
+ resp = http.post_multipart(
64
+ url: "multipart_test.rhtml",
65
+ post: {
66
+ "test_var" => "true",
67
+ "test_file1" => {
68
+ fpath: fpath,
69
+ filename: "specfile"
70
+ },
71
+ "test_file2" => {
72
+ fpath: fpath2,
73
+ filename: "http2.rb"
74
+ }
69
75
  }
70
- })
76
+ )
71
77
 
72
78
  data = JSON.parse(resp.body)
73
79
 
74
- data["post"]["test_var"].should eq "true"
75
- data["files_data"]["test_file1"].should eq File.read(fpath)
76
- data["files_data"]["test_file2"].should eq File.read(fpath2)
80
+ expect(data["post"]["test_var"]).to eq "true"
81
+ expect(data["files_data"]["test_file1"]).to eq File.read(fpath)
82
+ expect(data["files_data"]["test_file2"]).to eq File.read(fpath2)
77
83
  end
78
84
  end
79
85
  end
@@ -85,25 +91,23 @@ describe "Http2" do
85
91
  ]
86
92
 
87
93
  with_http do |http|
88
- 0.upto(105) do |count|
94
+ 0.upto(105) do |_count|
89
95
  url = urls[rand(urls.size)]
90
- #print "Doing request #{count} of 200 (#{url}).\n"
96
+ # puts "Doing request #{count} of 200 (#{url})."
91
97
  res = http.get(url)
92
- res.body.to_s.length.should > 0
98
+ expect(res.body.to_s.length).to be > 0
93
99
  end
94
100
  end
95
101
  end
96
102
 
97
103
  it "should be able to convert URL's to 'is.gd'-short-urls" do
98
104
  isgd = Http2.isgdlink("https://github.com/kaspernj/http2")
99
- raise "Expected isgd-var to be valid but it wasnt: '#{isgd}'." if !isgd.match(/^http:\/\/is\.gd\/([A-z\d]+)$/)
105
+ raise "Expected isgd-var to be valid but it wasnt: '#{isgd}'." unless isgd.match(/^http:\/\/is\.gd\/([A-z\d]+)$/)
100
106
  end
101
107
 
102
108
  it "should raise exception when something is not found" do
103
109
  with_http do |http|
104
- expect{
105
- http.get("something_that_does_not_exist.rhtml")
106
- }.to raise_error(::Http2::Errors::Notfound)
110
+ expect { http.get("something_that_does_not_exist.rhtml") }.to raise_error(::Http2::Errors::Notfound)
107
111
  end
108
112
  end
109
113
 
@@ -115,15 +119,15 @@ describe "Http2" do
115
119
  )
116
120
 
117
121
  data = JSON.parse(res.body)
118
- data["_SERVER"]["HTTP_CONTENT_TYPE"].should eq "application/json"
122
+ expect(data["_SERVER"]["HTTP_CONTENT_TYPE"]).to eq "application/json"
119
123
 
120
124
  # Hack JSON data from Hayabusa.
121
125
  json_data = JSON.parse(data["_POST"].keys.first)
122
- json_data["testkey"].should eq "testvalue"
126
+ expect(json_data["testkey"]).to eq "testvalue"
123
127
 
124
- res.content_type.should eq "application/json"
125
- res.json?.should eq true
126
- res.json["_SERVER"]["REQUEST_METHOD"].should eq "POST"
128
+ expect(res.content_type).to eq "application/json"
129
+ expect(res.json?).to eq true
130
+ expect(res.json["_SERVER"]["REQUEST_METHOD"]).to eq "POST"
127
131
  end
128
132
  end
129
133
 
@@ -136,25 +140,25 @@ describe "Http2" do
136
140
  )
137
141
 
138
142
  data = JSON.parse(res.body)
139
- data["_SERVER"]["HTTP_CONTENT_TYPE"].should eq "plain/text"
143
+ expect(data["_SERVER"]["HTTP_CONTENT_TYPE"]).to eq "plain/text"
140
144
 
141
145
  raw_data = data["_POST"].keys.first
142
- raw_data.should eq "test1_test2_test3"
146
+ expect(raw_data).to eq "test1_test2_test3"
143
147
  end
144
148
  end
145
149
 
146
150
  it "should set various timeouts" do
147
151
  with_http do |http|
148
- res = http.get("content_type_test.rhtml")
149
- http.keepalive_timeout.should eq 15
150
- http.keepalive_max.should eq 30
152
+ http.get("content_type_test.rhtml")
153
+ expect(http.keepalive_timeout).to eq 15
154
+ expect(http.keepalive_max).to eq 30
151
155
  end
152
156
  end
153
157
 
154
158
  it "should follow redirects" do
155
159
  with_http(follow_redirects: true) do |http|
156
160
  resp = http.get("redirect_test.rhtml")
157
- resp.code.should eq "200"
161
+ expect(resp.code).to eq "200"
158
162
  end
159
163
  end
160
164
  end
@@ -1,19 +1,19 @@
1
1
  require "codeclimate-test-reporter"
2
2
  CodeClimate::TestReporter.start
3
3
 
4
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
5
5
  $LOAD_PATH.unshift(File.dirname(__FILE__))
6
- require 'rspec'
7
- require 'http2'
8
- require 'helpers'
6
+ require "rspec"
7
+ require "http2"
8
+ require "helpers"
9
9
 
10
10
  # Requires supporting files with custom matchers and macros, etc,
11
11
  # in ./support/ and its subdirectories.
12
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
12
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
13
13
 
14
14
  RSpec.configure do |config|
15
15
  config.expect_with :rspec do |c|
16
- c.syntax = [:expect, :should]
16
+ c.syntax = [:expect]
17
17
  end
18
18
 
19
19
  config.include Helpers
@@ -1,3 +1,3 @@
1
1
  <%
2
- Knj::Web.redirect("/content_type_test.rhtml")
2
+ Knj::Web.redirect(_get["redirect_to"] || "/content_type_test.rhtml")
3
3
  %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.31
4
+ version: 0.0.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kasper Johansen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-13 00:00:00.000000000 Z
11
+ date: 2015-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: string-cases
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.8.0
47
+ version: 3.4.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.8.0
54
+ version: 3.4.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +122,34 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: best_practice_project
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 0.0.4
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.0.4
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.35.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.35.0
125
153
  description: A lightweight framework for doing http-connections in Ruby. Supports
126
154
  cookies, keep-alive, compressing and much more.
127
155
  email: k@spernj.org
@@ -134,21 +162,26 @@ files:
134
162
  - LICENSE.txt
135
163
  - README.md
136
164
  - Rakefile
137
- - include/connection.rb
138
- - include/cookie.rb
139
- - include/errors.rb
140
- - include/get_request.rb
141
- - include/post_data_generator.rb
142
- - include/post_multipart_request.rb
143
- - include/post_request.rb
144
- - include/response.rb
145
- - include/response_reader.rb
146
- - include/url_builder.rb
147
- - include/utils.rb
148
165
  - lib/http2.rb
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
149
178
  - spec/helpers.rb
150
179
  - spec/http2/cookies_spec.rb
180
+ - spec/http2/get_request_spec.rb
151
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
152
185
  - spec/http2/response_spec.rb
153
186
  - spec/http2/url_builder_spec.rb
154
187
  - spec/http2_spec.rb
@@ -178,21 +211,25 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
211
  version: '0'
179
212
  requirements: []
180
213
  rubyforge_project:
181
- rubygems_version: 2.2.2
214
+ rubygems_version: 2.4.0
182
215
  signing_key:
183
216
  specification_version: 4
184
217
  summary: A lightweight framework for doing http-connections in Ruby. Supports cookies,
185
218
  keep-alive, compressing and much more.
186
219
  test_files:
187
- - spec/helpers.rb
188
- - spec/http2/cookies_spec.rb
220
+ - spec/http2_spec.rb
221
+ - spec/http2/get_request_spec.rb
222
+ - spec/http2/post_request_spec.rb
189
223
  - spec/http2/post_data_generator_spec.rb
190
- - spec/http2/response_spec.rb
224
+ - spec/http2/cookies_spec.rb
191
225
  - spec/http2/url_builder_spec.rb
192
- - spec/http2_spec.rb
193
- - spec/spec_helper.rb
194
- - spec/spec_root/content_type_test.rhtml
195
- - spec/spec_root/cookie_test.rhtml
226
+ - spec/http2/response_reader_spec.rb
227
+ - spec/http2/post_multipart_request_spec.rb
228
+ - spec/http2/response_spec.rb
229
+ - spec/spec_root/redirect_test.rhtml
196
230
  - spec/spec_root/json_test.rhtml
197
231
  - spec/spec_root/multipart_test.rhtml
198
- - spec/spec_root/redirect_test.rhtml
232
+ - spec/spec_root/content_type_test.rhtml
233
+ - spec/spec_root/cookie_test.rhtml
234
+ - spec/helpers.rb
235
+ - spec/spec_helper.rb
@@ -1,34 +0,0 @@
1
- class Http2::GetRequest
2
- def initialize(http2, args)
3
- @http2, @args, @debug, @nl = http2, http2.parse_args(args), http2.debug, http2.nl
4
- end
5
-
6
- def execute
7
- @http2.mutex.synchronize do
8
- puts "Http2: Writing headers: #{header_string}" if @debug
9
- @http2.connection.write(header_string)
10
-
11
- puts "Http2: Reading response." if @debug
12
- resp = @http2.read_response(@args)
13
-
14
- puts "Http2: Done with get request." if @debug
15
- return resp
16
- end
17
- end
18
-
19
- private
20
-
21
- def method
22
- if @args[:method]
23
- @args[:method].to_s.upcase
24
- else
25
- "GET"
26
- end
27
- end
28
-
29
- def header_string
30
- header_str = "#{method} /#{@args[:url]} HTTP/1.1#{@nl}"
31
- header_str << @http2.header_str(@http2.default_headers(@args), @args)
32
- header_str << @nl
33
- end
34
- end