url_reader 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/url_reader.rb +18 -3
  3. data/url_reader.gemspec +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a62965c93752bca06a55622072fc71aff8681b30
4
- data.tar.gz: 102822219a522114a1ffd8ec67068d2b7742c1bf
3
+ metadata.gz: dd9aa78d32f98dd3a32fb0a753a2f5e76e532888
4
+ data.tar.gz: 37f67aaa0104ba239aa8f3bbb4a23a76cb6451d9
5
5
  SHA512:
6
- metadata.gz: e165bf66d90c434054f4437f44068ce98ddae35deea0e79aadd5e562405939160a48bd85bc338fc00df66e45f36f4913a3c5052275bc6cbfaa455112f399ab1d
7
- data.tar.gz: e04333113bf35f831db105fdc1be3d61feee9ff79b80f661f0e71aa4800491398f2fc34a58f608fc968c1851a495bd48224a4e242a9998c5ec8fee0772320861
6
+ metadata.gz: 26cc4e1fa5f9f0aaeca59a9d1302fd92f2ded2637da696d735705ab21e343e4da46c1381a499bcef919c5eb219389232c4bc36e32af69328661004b44fef2e36
7
+ data.tar.gz: ccad250a781ae2f303add07fe627a6d2266cc2f2c5bf472a9f3c2c7e7a2d2dc7177f28b595c9e48c5ad88ec0d7e6edf7d61329474210b6c0ce195ba7fd07d146
data/lib/url_reader.rb CHANGED
@@ -10,12 +10,21 @@ module UrlReader
10
10
  REQUEST_TIMEOUT = 10
11
11
  REQUEST_OPEN_TIMEOUT = 10
12
12
 
13
+ cattr_accessor :last_response_headers, :last_response_cookies, :last_cache_used
14
+
13
15
  def read_url(url, options = {})
16
+ self.class.last_response_headers = nil
17
+ self.class.last_response_cookies = nil
18
+ self.class.last_cache_used = false
14
19
  if defined?(Rails) && Rails.env.development?
15
20
  if ENV['READ_URL_CACHE_NOT_USE'] != 'true'
16
21
  ckey = cache_key(url, options)
17
- res = cache.read_entry(ckey)
18
- res || read_url_core_with_cache_write(url, options, ckey)
22
+ if res = cache.read_entry(ckey)
23
+ self.class.last_cache_used = true
24
+ res
25
+ else
26
+ read_url_core_with_cache_write(url, options, ckey)
27
+ end
19
28
  else
20
29
  read_url_core_with_cache_write(url, options)
21
30
  end
@@ -48,12 +57,16 @@ module UrlReader
48
57
  def read_url_core(url, options)
49
58
  valid_url = fixed_url(url)
50
59
  headers = {}
60
+ headers.merge!(options[:headers]) if options[:headers]
51
61
  headers[:user_agent] = options[:user_agent] if options[:user_agent]
62
+ cookies = {}
63
+ cookies.merge!(options[:cookies]) if options[:cookies]
52
64
  hash = {
53
65
  url: valid_url,
54
66
  timeout: options[:request_timeout] || REQUEST_TIMEOUT,
55
67
  open_timeout: options[:request_open_timeout] || REQUEST_OPEN_TIMEOUT,
56
- headers: headers
68
+ headers: headers,
69
+ cookies: cookies
57
70
  }
58
71
  response =
59
72
  begin
@@ -76,6 +89,8 @@ module UrlReader
76
89
  raise ne
77
90
  end
78
91
  return nil unless response
92
+ self.class.last_response_headers = response.headers
93
+ self.class.last_response_cookies = response.cookies
79
94
  image_content_type = options[:image_content_type]
80
95
  return resolve_encoding(response) unless response.headers[:content_type] =~ /^image\// || (image_content_type && response.headers[:content_type] == image_content_type)
81
96
  response.to_str
data/url_reader.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'url_reader'
3
- s.version = '0.2.3'
3
+ s.version = '0.2.4'
4
4
  s.authors = ['Tetsuri Moriya']
5
5
  s.email = ['tetsuri.moriya@gmail.com']
6
6
  s.summary = 'Url reader'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: url_reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tetsuri Moriya
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-14 00:00:00.000000000 Z
11
+ date: 2015-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec