url_reader 0.2.3 → 0.2.4

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