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.
- checksums.yaml +4 -4
- data/lib/url_reader.rb +18 -3
- data/url_reader.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dd9aa78d32f98dd3a32fb0a753a2f5e76e532888
|
4
|
+
data.tar.gz: 37f67aaa0104ba239aa8f3bbb4a23a76cb6451d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
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.
|
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-
|
11
|
+
date: 2015-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|