alovak-network 1.2.0 → 1.2.1
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.
- data/lib/network/connection.rb +9 -1
- data/test/network/test_connection.rb +41 -1
- metadata +9 -30
data/lib/network/connection.rb
CHANGED
@@ -49,6 +49,8 @@ module Network
|
|
49
49
|
|
50
50
|
def post(data)
|
51
51
|
try_request do
|
52
|
+
data = post_data(data)
|
53
|
+
|
52
54
|
log_request(data, "POST")
|
53
55
|
response = nil
|
54
56
|
ms = Benchmark.realtime do
|
@@ -61,9 +63,11 @@ module Network
|
|
61
63
|
|
62
64
|
def get(data)
|
63
65
|
try_request do
|
66
|
+
data = post_data(data)
|
67
|
+
|
64
68
|
log_request(data, "GET")
|
65
69
|
response = nil
|
66
|
-
query_string = uri.path + data
|
70
|
+
query_string = uri.path + "?" + data
|
67
71
|
ms = Benchmark.realtime do
|
68
72
|
response = http.get(query_string)
|
69
73
|
end
|
@@ -111,6 +115,10 @@ module Network
|
|
111
115
|
@headers
|
112
116
|
end
|
113
117
|
|
118
|
+
def post_data(data)
|
119
|
+
uri.query ? [data, uri.query].join("&") : data
|
120
|
+
end
|
121
|
+
|
114
122
|
def configure_ssl(http)
|
115
123
|
http.use_ssl = true
|
116
124
|
|
@@ -57,6 +57,40 @@ class TestConnectionLogging < Test::Unit::TestCase
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
+
class TestConnectionWithParamsInURI < Test::Unit::TestCase
|
61
|
+
def setup
|
62
|
+
@connection = Network::Connection.new("http://example.com/path?route=some/where/else")
|
63
|
+
@http = mock('http')
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_post_methods
|
67
|
+
sec = sequence('order')
|
68
|
+
|
69
|
+
default_headers = { 'Content-Type' => 'application/x-www-form-urlencoded',
|
70
|
+
'Content-Length' => 'hello&route=some/where/else'.bytesize.to_s }
|
71
|
+
|
72
|
+
@http.expects(:post).with('/path', 'hello&route=some/where/else', default_headers)
|
73
|
+
|
74
|
+
@connection.expects(:log_request).in_sequence(sec)
|
75
|
+
@connection.expects(:http).in_sequence(sec).returns(@http)
|
76
|
+
@connection.expects(:log_response).in_sequence(sec)
|
77
|
+
|
78
|
+
@connection.post("hello")
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_get_methods
|
82
|
+
sec = sequence('order')
|
83
|
+
|
84
|
+
@http.expects(:get).with('/path?query=hello&route=some/where/else')
|
85
|
+
|
86
|
+
@connection.expects(:log_request).in_sequence(sec)
|
87
|
+
@connection.expects(:http).in_sequence(sec).returns(@http)
|
88
|
+
@connection.expects(:log_response).in_sequence(sec)
|
89
|
+
|
90
|
+
@connection.get("query=hello")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
60
94
|
class TestConnection < Test::Unit::TestCase
|
61
95
|
|
62
96
|
def setup
|
@@ -82,8 +116,14 @@ class TestConnection < Test::Unit::TestCase
|
|
82
116
|
|
83
117
|
def test_post_methods
|
84
118
|
sec = sequence('order')
|
119
|
+
|
120
|
+
default_headers = { 'Content-Type' => 'application/x-www-form-urlencoded',
|
121
|
+
'Content-Length' => 'hello'.bytesize.to_s }
|
122
|
+
|
123
|
+
@http.expects(:post).with('/path', 'hello', default_headers)
|
124
|
+
|
85
125
|
@connection.expects(:log_request).in_sequence(sec)
|
86
|
-
@connection.expects(:http).in_sequence(sec).returns(
|
126
|
+
@connection.expects(:http).in_sequence(sec).returns(@http)
|
87
127
|
@connection.expects(:log_response).in_sequence(sec)
|
88
128
|
|
89
129
|
@connection.post("hello")
|
metadata
CHANGED
@@ -1,13 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alovak-network
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 1
|
8
|
-
- 2
|
9
|
-
- 0
|
10
|
-
version: 1.2.0
|
4
|
+
version: 1.2.1
|
11
5
|
platform: ruby
|
12
6
|
authors:
|
13
7
|
- Pavel Gabriel
|
@@ -15,25 +9,19 @@ autorequire:
|
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
11
|
|
18
|
-
date:
|
12
|
+
date: 2012-05-10 00:00:00 +03:00
|
19
13
|
default_executable:
|
20
14
|
dependencies:
|
21
15
|
- !ruby/object:Gem::Dependency
|
22
16
|
name: mocha
|
23
|
-
|
24
|
-
|
25
|
-
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
20
|
requirements:
|
27
21
|
- - ">="
|
28
22
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 53
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 9
|
33
|
-
- 7
|
34
23
|
version: 0.9.7
|
35
|
-
|
36
|
-
version_requirements: *id001
|
24
|
+
version:
|
37
25
|
description: HTTP/HTTPS communication module with logging, filtering and easy SSL configuration
|
38
26
|
email: alovak@gmail.com
|
39
27
|
executables: []
|
@@ -45,9 +33,6 @@ extra_rdoc_files: []
|
|
45
33
|
files:
|
46
34
|
- lib/network/connection.rb
|
47
35
|
- lib/network.rb
|
48
|
-
- test/network/test_network.rb
|
49
|
-
- test/network/test_connection.rb
|
50
|
-
- test/test_helper.rb
|
51
36
|
has_rdoc: true
|
52
37
|
homepage: http://github.com/alovak/network/
|
53
38
|
licenses: []
|
@@ -58,27 +43,21 @@ rdoc_options: []
|
|
58
43
|
require_paths:
|
59
44
|
- lib
|
60
45
|
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
46
|
requirements:
|
63
47
|
- - ">="
|
64
48
|
- !ruby/object:Gem::Version
|
65
|
-
hash: 3
|
66
|
-
segments:
|
67
|
-
- 0
|
68
49
|
version: "0"
|
50
|
+
version:
|
69
51
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
|
-
none: false
|
71
52
|
requirements:
|
72
53
|
- - ">="
|
73
54
|
- !ruby/object:Gem::Version
|
74
|
-
hash: 3
|
75
|
-
segments:
|
76
|
-
- 0
|
77
55
|
version: "0"
|
56
|
+
version:
|
78
57
|
requirements: []
|
79
58
|
|
80
59
|
rubyforge_project:
|
81
|
-
rubygems_version: 1.3.
|
60
|
+
rubygems_version: 1.3.5
|
82
61
|
signing_key:
|
83
62
|
specification_version: 3
|
84
63
|
summary: HTTP/HTTPS communication module based on ruby net/http, net/https modules
|