awesome_bot 1.8.2 → 1.8.3
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.
- 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
|