tiny_grabber 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/tiny_grabber.rb +1 -1
- data/lib/tiny_grabber/agent.rb +12 -7
- data/lib/tiny_grabber/http.rb +1 -3
- data/lib/tiny_grabber/version.rb +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: 2d593b5ddf7da3e6195a01caba21f565bac1c3cb
|
4
|
+
data.tar.gz: cb94d4279e13f7a231a57790e2e5faeb1feb173a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 986e5ea7a6e9a5f3ddb894ec36b992e55a36ba23bb9ac6b49d08404e4e1029bc76aeaee8599d552fa16f986135d969f34323289d5adbff7ed0ca9106f0dbca0e
|
7
|
+
data.tar.gz: 1cf0071c86bda9a6b716af0e4dcb4bef4e9972b8e660edee3f787ed7fceaa1c697c4d4e6bb92e603bbf5d7445ead9e6c28e75d62b299c574c3f8292399688488
|
data/README.md
CHANGED
data/lib/tiny_grabber.rb
CHANGED
data/lib/tiny_grabber/agent.rb
CHANGED
@@ -15,9 +15,9 @@ class TinyGrabber
|
|
15
15
|
# Basic authentification configuration
|
16
16
|
attr_writer :basic_auth
|
17
17
|
# Headers
|
18
|
-
|
18
|
+
attr_reader :headers
|
19
19
|
# Headers
|
20
|
-
|
20
|
+
attr_accessor :cookies
|
21
21
|
# Set verify mode
|
22
22
|
attr_writer :verify_mode
|
23
23
|
# Follow location
|
@@ -202,7 +202,7 @@ class TinyGrabber
|
|
202
202
|
set_user_agent if @user_agent
|
203
203
|
set_basic_auth unless @basic_auth.empty?
|
204
204
|
@headers = headers unless headers.empty?
|
205
|
-
set_headers
|
205
|
+
set_headers if @headers
|
206
206
|
set_cookies if @cookies
|
207
207
|
@response = send_request
|
208
208
|
case @response
|
@@ -212,7 +212,7 @@ class TinyGrabber
|
|
212
212
|
# HTTP response code 2xx
|
213
213
|
when Net::HTTPSuccess
|
214
214
|
save_headers if @response.header
|
215
|
-
save_cookies if @response
|
215
|
+
save_cookies if @response['Set-Cookie']
|
216
216
|
@debug.save "<- [response] = #{@response.code} Net::HTTPSuccess" if @debug.active
|
217
217
|
# Follow meta refresh
|
218
218
|
if @follow_location
|
@@ -224,7 +224,12 @@ class TinyGrabber
|
|
224
224
|
@debug.save "<- [response] = #{@response.code} Net::HTTPRedirection" if @debug.active
|
225
225
|
@debug.save 'try curl user_agent: tg.user_agent=\'curl\''
|
226
226
|
# Follow location
|
227
|
-
|
227
|
+
if @follow_location
|
228
|
+
@response = fetch @response.header['Location']
|
229
|
+
else
|
230
|
+
save_headers if @response.header
|
231
|
+
save_cookies if @response['Set-Cookie']
|
232
|
+
end
|
228
233
|
# HTTP response code 4xx
|
229
234
|
when Net::HTTPClientError
|
230
235
|
@debug.save "<- [response] = #{@response.code} Net::HTTPClientError" if @debug.active
|
@@ -297,7 +302,7 @@ class TinyGrabber
|
|
297
302
|
# Save response headers in agent attribute
|
298
303
|
#
|
299
304
|
def save_headers
|
300
|
-
@headers = @response.
|
305
|
+
@headers = @response.header
|
301
306
|
# Delete header TRANSFER_ENCODING for chain of requests
|
302
307
|
@headers.delete('transfer-encoding')
|
303
308
|
@debug.save "<- [headers] = #{@headers}" if @debug.active
|
@@ -306,7 +311,7 @@ class TinyGrabber
|
|
306
311
|
# Save response cookies in agent attribute
|
307
312
|
#
|
308
313
|
def save_cookies
|
309
|
-
@cookies = @response
|
314
|
+
@cookies = @response['Set-Cookie']
|
310
315
|
@debug.save "<- [cookies] = #{@cookies}" if @debug.active
|
311
316
|
end
|
312
317
|
|
data/lib/tiny_grabber/http.rb
CHANGED
@@ -14,9 +14,7 @@ module Net
|
|
14
14
|
#
|
15
15
|
def cookies
|
16
16
|
cookies = get_fields('set-cookie')
|
17
|
-
if cookies
|
18
|
-
cookies.map { |cookie| cookie.gsub(/\A([^;]+).*\Z/, '\1') }.join('&')
|
19
|
-
end
|
17
|
+
cookies.map { |cookie| cookie.gsub(/\A([^;]+).*\Z/, '\1') }.join('&') if cookies
|
20
18
|
end
|
21
19
|
|
22
20
|
# Response Headers
|
data/lib/tiny_grabber/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tiny_grabber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aleksandr Chernyshev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: socksify
|