simple_uri 0.0.6 → 0.0.7

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.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YWIwZWRhYTFiM2I3YmIwNThhMDkzMzQ4ZTNhYmU1NDYwMGFmYzA5NQ==
5
- data.tar.gz: !binary |-
6
- YTRjNTM1ZDg5OTc4ZTUwOWU2Njk2OWIzYmFmN2JhN2FjNTViNTI3Nw==
2
+ SHA1:
3
+ metadata.gz: 74f5e10edc2a5053bb124fd877a74c3278908b08
4
+ data.tar.gz: 45c5254e30dc959b0323b079907582ef22f5981c
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NjBkOWRjY2M1MzNhNWM1ODc1MmJiNDg5YTRmYmY2ZWU5NTM3ODY1MGM2NDNk
10
- YTFkYThjN2Q2ZTI0YzAyODM1YmNiYTFlYTY3ZGJjZmM2OTM5ZDE1MjI0OTE3
11
- ZGM1YzI0ZGM2YmVhZTVjZTRlN2E1YjFmZjk0MmU1MTBkOTFlOWM=
12
- data.tar.gz: !binary |-
13
- MjkyOTljNGFlZDE4M2I3Nzk3ZDY0ZGQyYWZjYzEyYmVlM2U2MmVlMzAwMTdh
14
- ZGU4MjgxMDI0Y2U5ZjY5MmJkMmY5YTQ4MWE1NzQzYTg3OTg1MTlhOWFlNjgy
15
- MWIxODA1Zjc2NGEwMTllZTk0N2U0NDY1OWU2OTdlMTE2ZDI3ZTU=
6
+ metadata.gz: b97f485ac75ebfd908be7fe69a5b8a2587f244f573abf12b9f3eed3c4cd0278a1838e784b2c3348e7398d7add4464ba4ab77bf5e67638502c2ae7c2a9f316e88
7
+ data.tar.gz: 962655fd86de8a4f5cda78e4e05e17ae38ea4fc30986bb4e942b0aa4e0c6f7e75ec7bbb2a29c544f9977b716538f858a422590df9b33af847035cd94621efb3b
@@ -1,3 +1,3 @@
1
1
  module SimpleUri
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
data/lib/simple_uri.rb CHANGED
@@ -22,13 +22,17 @@ module SimpleUri
22
22
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
23
23
  end
24
24
  req = "Net::HTTP::#{method.to_s.capitalize}".constantize.new(uri.path+options[:params].to_s)
25
- req.basic_auth options[:user], options[:password] if options[:user] && options[:password]
25
+ if options[:user] && options[:password]
26
+ req.basic_auth options[:user], options[:password]
27
+ debug_msg 'Basic auth'
28
+ end
26
29
  [req, http]
27
30
  end
28
31
 
29
32
  def send_request(url=nil, method=:get, options={ params: nil, req_body: nil, req_headers: nil, user: nil, password: nil, debug: @@debug_mode, cookies: false })
33
+ options[:params] = (method==:post) ? nil : '?'+prepare_req_body(options[:req_body])
30
34
  req, http = connect(url, method, { params: options[:params], user: options[:user], password: options[:password], debug: options[:debug] })
31
- req.body = prepare_req_body(options[:req_body])
35
+ req.body = prepare_req_body(options[:req_body]) if method == :post
32
36
  options[:req_headers].each { |k, v| req[k] = v } if options[:req_headers]
33
37
  res = http.request(req)
34
38
  res.body
@@ -45,15 +49,12 @@ module SimpleUri
45
49
  private
46
50
 
47
51
  def prepare_req_body(body)
48
- (body.is_a?(Hash))? body_to_str_params(body) : body
49
- end
50
-
51
- def body_to_str_params(body)
52
- body.map { |k, v| "#{k.to_s}=#{v.to_s}" }.join('&')
52
+ (body.is_a?(Hash))? URI.encode_www_form(body) : body
53
53
  end
54
54
 
55
55
  def prepare_url(url)
56
- unless url.match(/http(s)?:\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.\w{2,5}\/.+/) && url[-1]=='/'
56
+ m = url.match(/http(s)?:\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.\w{2,5}(:\d+)?\/([1-9.\w])+(.{0})/)
57
+ if m && m[0]==url && url[-1] != '/'
57
58
  url += '/'
58
59
  debug_msg 'Append \'/\' to url.'
59
60
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_uri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikulin Aleksander
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-16 00:00:00.000000000 Z
11
+ date: 2014-10-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: To simplify working with url
14
14
  email: nikulinaleksandr@gmail.com
@@ -28,12 +28,12 @@ require_paths:
28
28
  - lib
29
29
  required_ruby_version: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  required_rubygems_version: !ruby/object:Gem::Requirement
35
35
  requirements:
36
- - - ! '>='
36
+ - - ">="
37
37
  - !ruby/object:Gem::Version
38
38
  version: '0'
39
39
  requirements: []
@@ -43,4 +43,3 @@ signing_key:
43
43
  specification_version: 4
44
44
  summary: To simplify working with url
45
45
  test_files: []
46
- has_rdoc: