tweakphoeus 0.0.2 → 0.0.3

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: 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