tweakphoeus 0.0.2 → 0.0.3

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eaba5d14b71470fb676ecb3ce4dc427de2ba103b
4
- data.tar.gz: 5551eeeef872bf529967c987b46b5d6d01061998
3
+ metadata.gz: f9cdc0cacc3d2f0689e958d15ec999d95a87b4ea
4
+ data.tar.gz: bb6e1c45b16dc0972e77e1f145a45698a99a4e98
5
5
  SHA512:
6
- metadata.gz: 90816e09c3fc888a9d4d06a00415d49c1f608f1fa7424b0c2d4498840151d7d1719df1cf953f9015df3d3760a8e614e62648e1bf203cf6dacd39be2dabb7405b
7
- data.tar.gz: 5c0d04880cedac96da5df169b02bb3c1e7ea3fff6dd72610e701de7190d032f4eb5c78539793d264ab6d953bcd0e0d82ebee04d431ee91ec8ca8b23cbb1b5809
6
+ metadata.gz: f15a18722d99609541692e9d067e20092317b41d57b41a7393a156125cf6a28399ea701d2141db6305efa94f4536c71055d4f9cafab1d88ab7bfe1c3c5b25e57
7
+ data.tar.gz: a0be461a8f38f4da5178d769d9f9e0e401a82dee0b2d861f4f1364b9dbd7cc2cc7357f2b51a51f82f14ee0313c8df70feb09b05ddce27749247a83b5b2538271
data/.gitignore CHANGED
@@ -7,3 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+ .gem
@@ -1,3 +1,3 @@
1
1
  module Tweakphoeus
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/tweakphoeus.rb CHANGED
@@ -1,90 +1,89 @@
1
1
  require "tweakphoeus/version"
2
2
  require "typhoeus"
3
3
 
4
- class Tweakphoeus
5
- attr_accessor :cookie_jar
4
+ module Tweakphoeus
5
+ class Client
6
+ attr_accessor :cookie_jar
6
7
 
7
- def initialize()
8
- @cookie_jar = {}
9
- end
10
-
11
- def get url, body: nil, headers: nil, redirect: true
12
- inject_cookies url, headers
13
- response = Typhoeus.get url, body: body, headers: headers
14
- obtain_cookies response
15
- response.headers
16
- response = get(redirect_url(response), body: body, headers: headers) if redirect && has_redirect?(response)
17
- response
18
- end
19
-
20
- def post url, body: nil, headers: nil, redirect: false
21
- inject_cookies url, headers
22
- response = Typhoeus.get url, body: body, headers: headers
23
- obtain_cookies response
24
- response = post(redirect_url(response), body: body, headers: headers) if redirect && has_redirect?(response)
25
- response
26
- end
8
+ def initialize()
9
+ @cookie_jar = {}
10
+ end
27
11
 
28
- def get_hide_inputs response
29
- #TODO
30
- end
12
+ def get url, body: nil, headers: nil, redirect: true
13
+ inject_cookies url, headers
14
+ response = Typhoeus.get url, body: body, headers: headers
15
+ obtain_cookies response
16
+ response = get(redirect_url(response), body: body, headers: headers) if redirect && has_redirect?(response)
17
+ response
18
+ end
31
19
 
32
- def add_cookies host, key, value
33
- domain = get_domain host
34
- @cookie_jar[domain] = [] if @cookie_jar[domain].nil?
35
- @cookie_jar[domain] << {key => value}
36
- end
20
+ def post url, body: nil, headers: nil, redirect: false
21
+ inject_cookies url, headers
22
+ response = Typhoeus.get url, body: body, headers: headers
23
+ obtain_cookies response
24
+ response = post(redirect_url(response), body: body, headers: headers) if redirect && has_redirect?(response)
25
+ response
26
+ end
37
27
 
38
- def get_domain domain
39
- domain.match(/([a-zA-Z0-9]+:\/\/|)([^\/]+)/)[2]
40
- end
28
+ def get_hide_inputs response
29
+ #TODO
30
+ end
41
31
 
42
- private
32
+ def add_cookies host, key, value
33
+ domain = get_domain host
34
+ @cookie_jar[domain] = [] if @cookie_jar[domain].nil?
35
+ @cookie_jar[domain] << {key => value}
36
+ end
43
37
 
44
- def obtain_cookies response
45
- set_cookies_field = response.headers["Set-Cookie"]
46
- return if set_cookies_field.nil?
47
- if set_cookies_field.is_a?(String)
48
- set_cookies_field = [response.headers["Set-Cookie"]]
38
+ def get_domain domain
39
+ domain.match(/([a-zA-Z0-9]+:\/\/|)([^\/]+)/)[2]
49
40
  end
50
41
 
51
- set_cookies_field.each do |cookie|
52
- key, value = cookie.match(/^([^=]+)=([^;]+)/).to_a[1..-1]
53
- domain = cookie.match(/domain=([^;]+)/)
42
+ private
54
43
 
55
- if domain.nil?
56
- domain = get_domain response.request.url
57
- else
58
- domain = domain[1]
44
+ def obtain_cookies response
45
+ set_cookies_field = response.headers["Set-Cookie"]
46
+ return if set_cookies_field.nil?
47
+ if set_cookies_field.is_a?(String)
48
+ set_cookies_field = [response.headers["Set-Cookie"]]
59
49
  end
60
50
 
61
- @cookie_jar = {} if @cookie_jar.nil? #TODO: remove after debug
62
- @cookie_jar[domain] = [] if @cookie_jar[domain].nil?
63
- @cookie_jar[domain] << {key => value}
64
- end
65
- end
51
+ set_cookies_field.each do |cookie|
52
+ key, value = cookie.match(/^([^=]+)=([^;]+)/).to_a[1..-1]
53
+ domain = cookie.match(/domain=([^;]+)/)
66
54
 
67
- def inject_cookies url, headers
68
- domain = get_domain url
69
- domain = domain.gsub("www.","")
70
- headers = {} if headers.nil?
71
- cookies = []
55
+ if domain.nil?
56
+ domain = get_domain response.request.url
57
+ else
58
+ domain = domain[1]
59
+ end
72
60
 
73
- while domain.split(".").count > 1
74
- cookies << @cookie_jar[domain] if @cookie_jar[domain]
75
- cookies << @cookie_jar["." + domain] if @cookie_jar["." + domain]
76
- domain = domain.split(".")[1..-1].join(".")
61
+ @cookie_jar[domain] = [] if @cookie_jar[domain].nil?
62
+ @cookie_jar[domain] << {key => value}
63
+ end
77
64
  end
78
65
 
79
- headers["Set-Cookie"] = cookies.flatten
80
- end
66
+ def inject_cookies url, headers
67
+ domain = get_domain url
68
+ domain = domain.gsub("www.","")
69
+ headers = {} if headers.nil?
70
+ cookies = []
81
71
 
82
- def has_redirect? response
83
- !redirect_url(response).nil?
84
- end
72
+ while domain.split(".").count > 1
73
+ cookies << @cookie_jar[domain] if @cookie_jar[domain]
74
+ cookies << @cookie_jar["." + domain] if @cookie_jar["." + domain]
75
+ domain = domain.split(".")[1..-1].join(".")
76
+ end
85
77
 
86
- def redirect_url response
87
- response.headers["Location"]
88
- end
78
+ headers["Set-Cookie"] = cookies.flatten
79
+ end
89
80
 
81
+ def has_redirect? response
82
+ !redirect_url(response).nil?
83
+ end
84
+
85
+ def redirect_url response
86
+ response.headers["Location"]
87
+ end
88
+ end
90
89
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tweakphoeus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Martin Garcia