awesome_bot 1.8.2 → 1.8.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/awesome_bot.gemspec +1 -1
- data/lib/awesome_bot/check.rb +1 -1
- data/lib/awesome_bot/cli.rb +1 -2
- data/lib/awesome_bot/{statuses.rb → net.rb} +15 -11
- data/lib/awesome_bot/result.rb +0 -1
- data/lib/awesome_bot/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eea93efbdd8565105c15d324dc34ebb61c940a5f
|
4
|
+
data.tar.gz: faa648aaccb7ca30b29c904f52983ba8c64afcf3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70dec3767b557fa33196d33c232d21fad543175fa31ace665e917d37aeb47d3ea5011e27cc41564b65b8e17ee15e5cea33eaecd4f9fb85370bf5db0a37ee71f2
|
7
|
+
data.tar.gz: 80f2df04e702d4484c2f8a4932fffd5cd1182ac9420feec15ed2a64f9d06916b6b2c9612b97460b5f7788d37b2711e949f46288c8eec7eaabb4f4801801507e0
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
Changes by [Daniel Khamsing][] unless otherwise noted.
|
4
4
|
|
5
|
+
# 1.8.3
|
6
|
+
|
7
|
+
- restore `head` request option
|
8
|
+
- rename `net`
|
9
|
+
- [cli] rename ab-results.json
|
10
|
+
- [status] yield `headers` (library usage)
|
11
|
+
- [gem] update `parallel` dependency to `1.8`
|
12
|
+
|
5
13
|
# 1.8.2
|
6
14
|
|
7
15
|
- [output] add link line number for dupes
|
data/README.md
CHANGED
@@ -108,7 +108,7 @@ Tip: Use the keyword `[ci skip]` in your commit title/message to selectively ski
|
|
108
108
|
|
109
109
|
### Travis CI
|
110
110
|
|
111
|
-
To use `awesome_bot` with Travis CI, [connect your repo](https://travis-ci.org/) and create a [`.travis.yml` file](https://github.com/
|
111
|
+
To use `awesome_bot` with Travis CI, [connect your repo](https://travis-ci.org/) and create a [`.travis.yml` file](https://github.com/ziadoz/awesome-php/blob/master/.travis.yml).
|
112
112
|
|
113
113
|
```yml
|
114
114
|
language: ruby
|
data/awesome_bot.gemspec
CHANGED
data/lib/awesome_bot/check.rb
CHANGED
data/lib/awesome_bot/cli.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'awesome_bot/check'
|
2
2
|
require 'awesome_bot/output'
|
3
3
|
require 'awesome_bot/result'
|
4
|
-
require 'awesome_bot/statuses'
|
5
4
|
require 'awesome_bot/version'
|
6
5
|
|
7
6
|
# Command line interface
|
@@ -12,7 +11,7 @@ module AwesomeBot
|
|
12
11
|
OPTION_TIMEOUT_SET = 'set-timeout'
|
13
12
|
OPTION_WHITE_LIST = 'white-list'
|
14
13
|
|
15
|
-
RESULTS_FILE = 'results.json'
|
14
|
+
RESULTS_FILE = 'ab-results.json'
|
16
15
|
|
17
16
|
USAGE = "\t"
|
18
17
|
|
@@ -3,36 +3,40 @@ module AwesomeBot
|
|
3
3
|
STATUS_ERROR = -1
|
4
4
|
|
5
5
|
class << self
|
6
|
-
def net_status(url, timeout=30)
|
6
|
+
def net_status(url, timeout=30, head=true)
|
7
7
|
require 'net/http'
|
8
8
|
require 'openssl'
|
9
9
|
require 'uri'
|
10
10
|
|
11
11
|
uri = URI.parse url
|
12
12
|
Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https', :open_timeout => timeout) do |http|
|
13
|
-
|
14
|
-
|
13
|
+
if head
|
14
|
+
request = Net::HTTP::Head.new uri
|
15
|
+
else
|
16
|
+
request = Net::HTTP::Get.new uri
|
17
|
+
end
|
18
|
+
response = http.request request
|
15
19
|
|
16
|
-
|
20
|
+
code = response.code==nil ? 200 : response.code.to_i
|
17
21
|
|
18
|
-
|
19
|
-
|
22
|
+
headers = {}
|
23
|
+
response.each { |k, v| headers[k] = v }
|
20
24
|
|
21
|
-
|
22
|
-
|
25
|
+
return [code, headers]
|
26
|
+
end
|
23
27
|
end
|
24
28
|
|
25
29
|
def status_is_redirected?(status)
|
26
30
|
(status > 299) && (status < 400)
|
27
31
|
end
|
28
32
|
|
29
|
-
def statuses(links, threads, timeout)
|
33
|
+
def statuses(links, threads, timeout, head=true)
|
30
34
|
require 'parallel'
|
31
35
|
|
32
36
|
statuses = []
|
33
37
|
Parallel.each(links, in_threads: threads) do |u|
|
34
38
|
begin
|
35
|
-
status, headers = net_status u, timeout
|
39
|
+
status, headers = net_status u, timeout, head
|
36
40
|
error = nil # nil (success)
|
37
41
|
rescue => e
|
38
42
|
status = STATUS_ERROR
|
@@ -40,7 +44,7 @@ module AwesomeBot
|
|
40
44
|
error = e
|
41
45
|
end
|
42
46
|
|
43
|
-
yield status, u if block_given?
|
47
|
+
yield status, u, headers if block_given?
|
44
48
|
statuses.push('url' => u, 'status' => status, 'error' => error, 'headers' => headers)
|
45
49
|
end # Parallel
|
46
50
|
|
data/lib/awesome_bot/result.rb
CHANGED
data/lib/awesome_bot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awesome_bot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Khamsing
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parallel
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: '1.8'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: '1.8'
|
27
27
|
description: Check for valid and duplicate URLs in a file. Great for "awesome" projects.
|
28
28
|
email:
|
29
29
|
- dkhamsing8@gmail.com
|
@@ -59,9 +59,9 @@ files:
|
|
59
59
|
- lib/awesome_bot/check.rb
|
60
60
|
- lib/awesome_bot/cli.rb
|
61
61
|
- lib/awesome_bot/links.rb
|
62
|
+
- lib/awesome_bot/net.rb
|
62
63
|
- lib/awesome_bot/output.rb
|
63
64
|
- lib/awesome_bot/result.rb
|
64
|
-
- lib/awesome_bot/statuses.rb
|
65
65
|
- lib/awesome_bot/version.rb
|
66
66
|
- lib/awesome_bot/white_list.rb
|
67
67
|
- status/README.md
|