phantom_client 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/bin/phantom_client CHANGED
@@ -25,5 +25,5 @@ if url == nil
25
25
  return
26
26
  end
27
27
 
28
- client = PhantomJSProxy::PhantomJSClient.new(proxy_list, hmac_key, PhantomJSProxy::PhantomJSClientConnection.new)
28
+ client = PhantomJSProxy::PhantomJSClient.new(proxy_list, hmac_key, nil, PhantomJSProxy::PhantomJSClientConnection.new)
29
29
  puts client.get_body(url, {:imageOnly => false, :withIframes => true})
@@ -7,6 +7,20 @@ module PhantomJSProxy
7
7
  attr_accessor :body
8
8
  attr_accessor :code
9
9
  end
10
+ class DummyLogger
11
+ def info msg
12
+ puts msg
13
+ end
14
+
15
+ def warn msg
16
+ puts msg
17
+ end
18
+
19
+ def error msg
20
+ purs msg
21
+ end
22
+ end
23
+
10
24
  class PhantomJSClient
11
25
 
12
26
  attr_accessor :proxy_addr
@@ -15,13 +29,18 @@ module PhantomJSProxy
15
29
  attr_accessor :connection
16
30
  attr_accessor :hmac
17
31
  attr_accessor :hmac_activated
32
+ attr_accessor :logger
18
33
 
19
- def initialize(addr_list=[], key=nil, con = PhantomJSClientConnection.new)
34
+ def initialize(addr_list=[], key=nil, log=nil, con = PhantomJSClientConnection.new)
20
35
  @proxy_list = addr_list
21
36
  @connection = con
22
37
  @hmac_activated = key ? true : false
23
38
  @hmac = HMAC::MD5.new key
24
- puts "Using #{key} as HMAC key"
39
+ @logger = log
40
+ if @logger == nil
41
+ @logger = DummyLogger.new
42
+ end
43
+ logger.info "Using #{key} as HMAC key"
25
44
  end
26
45
 
27
46
  def get_body(addr, options=nil)
@@ -38,12 +57,12 @@ module PhantomJSProxy
38
57
 
39
58
  if options && options['imageOnly']
40
59
  req['Get-Page-As-Image'] = options['imageOnly']
41
- puts "Do image only"
60
+ logger.info "Do image only"
42
61
  end
43
62
 
44
63
  if options && options['withIframes']
45
64
  req['Get-Page-With-IFrames'] = options['withIframes']
46
- puts "Do fetch iframes"
65
+ logger.info "Do fetch iframes"
47
66
  end
48
67
 
49
68
  if hmac_activated
@@ -65,15 +84,15 @@ module PhantomJSProxy
65
84
  t = Time.now
66
85
  req['Hmac-Key'] = hmac_keygen.update(addr+t.to_s).hexdigest
67
86
  req['Hmac-Time'] = t
68
- puts "Encode: #{addr} to #{req['Hmac-Key']}"
87
+ logger.info "Encode: #{addr} to #{req['Hmac-Key']}"
69
88
  end
70
89
 
71
90
  def do_get(url, req, count)
72
91
  element = get_proxy()
73
92
  if element[:addr] && element[:port]
74
- puts "try: "+element[:addr]+", "+element[:port]
93
+ logger.info "try: "+element[:addr]+", "+element[:port]
75
94
  else
76
- puts "DUMMY TRY"
95
+ logger.info "DUMMY TRY"
77
96
  end
78
97
 
79
98
  begin
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phantom_client
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 2
9
- - 0
10
- version: 1.2.0
9
+ - 1
10
+ version: 1.2.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Sudmann
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-09 00:00:00 +02:00
18
+ date: 2012-05-10 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency