tweakphoeus 0.2.4 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c559705b1a8be61ea4dd712269e678f414b89366
4
- data.tar.gz: 40113de0918d344bcd5c1509d2de47201847b898
3
+ metadata.gz: a0d00e51c1f23ccb8e4a7b63c95eeda5d0856351
4
+ data.tar.gz: 94851c8ea6f3cc3cb05c8063a94aef03175c9104
5
5
  SHA512:
6
- metadata.gz: 18b4d577efb3e12e97b53953b629e305f615ede255a7e241521ab568b13ecd4eca6247f90d6d44a1b3c1331d77ef6f2249a5666139d97b78f74c214cf87f9fa3
7
- data.tar.gz: 6b7b9445bf2b808234e9532f7b4ca8b1ed69b454e304a05de38f34fa9f05b6544efd8a3f10d208aa422d1617f6aa8586e3375dd6b498ef29169f2da3731e6685
6
+ metadata.gz: fc5ab5a5d781d861fcef932054258a73d956fe81b457e577a96ffef678c12742657ccc76611a75fe081da12114b3093cdd55c262e086359a6e090a88bb1bc047
7
+ data.tar.gz: f31f18ebe3129cd53b0f9b6ab099da3b3d2c0a7aec0e91a335571729705ddd98f53dd1ca844ab794d5f13e0a26de47a9eb3748e90d51aab84a7583b44c5b1f7e
data/CHANGELOG.md CHANGED
@@ -4,3 +4,4 @@
4
4
  -- v0.2.2 - delete method added, thanks @pablobfonseca
5
5
  -- v0.2.3 - adding parameter params in order to handle in_url parameters
6
6
  -- v0.2.4 - adding parametes to post requests
7
+ -- v0.2.5 - adding public method cookie_string
@@ -1,3 +1,3 @@
1
1
  module Tweakphoeus
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.5"
3
3
  end
data/lib/tweakphoeus.rb CHANGED
@@ -59,11 +59,28 @@ module Tweakphoeus
59
59
  @referer.last
60
60
  end
61
61
 
62
+ def cookie_string(url, headers={})
63
+ domain = get_domain(url)
64
+ headers ||= {}
65
+ cookies = parse_cookie(headers["Cookie"])
66
+
67
+ while domain.present?
68
+ if @cookie_jar[domain]
69
+ @cookie_jar[domain].each do |key, value|
70
+ cookies[key] ||= value
71
+ end
72
+ end
73
+ domain = domain.gsub(/^([^\.]+\.?)/, '')
74
+ end
75
+
76
+ cookies.map{ |key, value| "#{key}=#{value}" }.join('; ')
77
+ end
78
+
62
79
  private
63
80
 
64
81
  def http_request(url, body: nil, params: nil, headers: nil, redirect: false, method: method)
65
82
  request_headers = merge_default_headers(headers)
66
- request_headers["Cookie"] = inject_cookies(url, headers)
83
+ request_headers["Cookie"] = cookie_string(url, headers)
67
84
  request_headers["Referer"] = get_referer
68
85
  response = Typhoeus.send(method, url, body: body, params: params, headers: request_headers)
69
86
  obtain_cookies(response)
@@ -114,27 +131,12 @@ module Tweakphoeus
114
131
  end
115
132
  end
116
133
 
117
- def inject_cookies url, headers
118
- domain = get_domain(url)
119
- headers ||= {}
120
- cookies = parse_cookie(headers["Cookie"])
121
-
122
- while domain.split(".").count > 1
123
- if @cookie_jar[domain]
124
- cookies = @cookie_jar[domain].merge(cookies)
125
- end
126
- domain = domain.split(".")[1..-1].join(".")
127
- end
128
-
129
- cookies.map{|k,v| "#{k}=#{v}"}.join('; ')
130
- end
131
-
132
- def parse_cookie cookie_string
134
+ def parse_cookie(string)
133
135
  cookies = {}
134
136
 
135
- if cookie_string.is_a?(String)
136
- cookie_string.split(';').each do |string|
137
- key, value = string.split('=')
137
+ if string.is_a?(String)
138
+ string.split(';').each do |part|
139
+ key, value = part.split('=')
138
140
  key.strip!
139
141
  cookies[key.strip] = value if value && !["Domain","Path","domain","path"].include?(key)
140
142
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tweakphoeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Martin Garcia
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-15 00:00:00.000000000 Z
11
+ date: 2017-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.5.1
123
+ rubygems_version: 2.6.8
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Typhoeus on steroids.