check_http 0.0.9 → 0.1.0
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.
- data/README.md +7 -0
- data/check_http.gemspec +1 -1
- data/lib/check_http.rb +2 -2
- data/lib/check_http/checker.rb +3 -3
- data/lib/check_http/cli.rb +13 -5
- data/lib/check_http/version.rb +1 -1
- data/spec/check_http/checker_spec.rb +5 -5
- metadata +20 -34
data/README.md
CHANGED
@@ -33,6 +33,13 @@ You can also stream urls into it:
|
|
33
33
|
$ cat list_of_urls.txt | check_http
|
34
34
|
```
|
35
35
|
|
36
|
+
There is also support for an __advanced input mode__:
|
37
|
+
|
38
|
+
```bash
|
39
|
+
$ echo url=http://google.com location=my_house | check_http
|
40
|
+
# results will include the location key and any other keys you place in the input stream
|
41
|
+
```
|
42
|
+
|
36
43
|
### Via the lib:
|
37
44
|
|
38
45
|
```ruby
|
data/check_http.gemspec
CHANGED
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
|
-
gem.add_dependency('ethon')
|
19
|
+
gem.add_dependency('ethon', '0.5.0')
|
20
20
|
gem.add_dependency('kv', '0.0.4')
|
21
21
|
gem.add_development_dependency('rake')
|
22
22
|
gem.add_development_dependency('rspec')
|
data/lib/check_http.rb
CHANGED
data/lib/check_http/checker.rb
CHANGED
@@ -7,11 +7,11 @@ module CheckHTTP
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def default_blacklist
|
10
|
-
[:
|
10
|
+
[:response_headers, :response_body, :httpauth_avail, :starttransfer_time, :appconnect_time, :pretransfer_time]
|
11
11
|
end
|
12
12
|
|
13
|
-
def check(url)
|
14
|
-
clean(sample(url)).merge(
|
13
|
+
def check(url, opts={})
|
14
|
+
clean(sample(url)).merge(opts)
|
15
15
|
end
|
16
16
|
|
17
17
|
def clean(result)
|
data/lib/check_http/cli.rb
CHANGED
@@ -2,22 +2,30 @@ $stdout.sync = true
|
|
2
2
|
|
3
3
|
module CheckHTTP
|
4
4
|
class CLI
|
5
|
-
def perform(url)
|
6
|
-
|
7
|
-
|
5
|
+
def perform(url, opts={})
|
6
|
+
if opts[:advanced]
|
7
|
+
data = KV.parse(url)
|
8
|
+
result = CheckHTTP.check(data['url'], data)
|
9
|
+
puts KV.unparse(result)
|
10
|
+
else
|
11
|
+
result = CheckHTTP.check(url.strip)
|
12
|
+
puts KV.unparse(result)
|
13
|
+
end
|
8
14
|
end
|
9
15
|
|
10
16
|
def run
|
11
17
|
opts = {}
|
12
18
|
ARGV.options do |o|
|
13
19
|
o.banner = 'Usage: check_http [url]'
|
20
|
+
o.set_summary_indent(' ')
|
21
|
+
o.on('-a', '--advanced', 'enable advanced input mode') { opts[:advanced] = true }
|
14
22
|
o.parse!
|
15
23
|
|
16
24
|
if url = ARGV.shift
|
17
|
-
perform(url)
|
25
|
+
perform(url, opts)
|
18
26
|
else
|
19
27
|
ARGF.each_line do |url|
|
20
|
-
perform(url)
|
28
|
+
perform(url, opts)
|
21
29
|
end
|
22
30
|
end
|
23
31
|
end
|
data/lib/check_http/version.rb
CHANGED
@@ -17,11 +17,6 @@ describe CheckHTTP::Checker do
|
|
17
17
|
checker.sample(url)
|
18
18
|
end
|
19
19
|
|
20
|
-
it 'should return sampled results with url merged in' do
|
21
|
-
checker.stub(:sample).with(url) { mock_result }
|
22
|
-
checker.check(url).should eq(mock_result.merge(:url => url))
|
23
|
-
end
|
24
|
-
|
25
20
|
it 'should clean sampled results before returning' do
|
26
21
|
checker.stub(:sample).with(url) { mock_result }
|
27
22
|
checker.should_receive(:clean).with(mock_result) { mock_result }
|
@@ -36,4 +31,9 @@ describe CheckHTTP::Checker do
|
|
36
31
|
it 'should set the default blacklist upon initialization' do
|
37
32
|
checker.blacklist.should eq(checker.default_blacklist)
|
38
33
|
end
|
34
|
+
|
35
|
+
it 'should merge in additional values provided on input' do
|
36
|
+
checker.stub(:sample).with(url) { mock_result }
|
37
|
+
checker.check(url, {'check_id' => 1}).should eq(mock_result.merge({'check_id' => 1}))
|
38
|
+
end
|
39
39
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: check_http
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,43 +9,33 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ethon
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirement: &70312254024540 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
19
|
+
- - =
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
21
|
+
version: 0.5.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ! '>='
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '0'
|
24
|
+
version_requirements: *70312254024540
|
30
25
|
- !ruby/object:Gem::Dependency
|
31
26
|
name: kv
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
27
|
+
requirement: &70312254023140 !ruby/object:Gem::Requirement
|
33
28
|
none: false
|
34
29
|
requirements:
|
35
|
-
- -
|
30
|
+
- - =
|
36
31
|
- !ruby/object:Gem::Version
|
37
32
|
version: 0.0.4
|
38
33
|
type: :runtime
|
39
34
|
prerelease: false
|
40
|
-
version_requirements:
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - '='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 0.0.4
|
35
|
+
version_requirements: *70312254023140
|
46
36
|
- !ruby/object:Gem::Dependency
|
47
37
|
name: rake
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
38
|
+
requirement: &70312254022320 !ruby/object:Gem::Requirement
|
49
39
|
none: false
|
50
40
|
requirements:
|
51
41
|
- - ! '>='
|
@@ -53,15 +43,10 @@ dependencies:
|
|
53
43
|
version: '0'
|
54
44
|
type: :development
|
55
45
|
prerelease: false
|
56
|
-
version_requirements:
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
46
|
+
version_requirements: *70312254022320
|
62
47
|
- !ruby/object:Gem::Dependency
|
63
48
|
name: rspec
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirement: &70312254021520 !ruby/object:Gem::Requirement
|
65
50
|
none: false
|
66
51
|
requirements:
|
67
52
|
- - ! '>='
|
@@ -69,12 +54,7 @@ dependencies:
|
|
69
54
|
version: '0'
|
70
55
|
type: :development
|
71
56
|
prerelease: false
|
72
|
-
version_requirements:
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
57
|
+
version_requirements: *70312254021520
|
78
58
|
description: a simple interface to gather curl stats against an HTTP resource
|
79
59
|
email:
|
80
60
|
- michael.gorsuch@gmail.com
|
@@ -109,15 +89,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
89
|
- - ! '>='
|
110
90
|
- !ruby/object:Gem::Version
|
111
91
|
version: '0'
|
92
|
+
segments:
|
93
|
+
- 0
|
94
|
+
hash: -1563738831700431400
|
112
95
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
113
96
|
none: false
|
114
97
|
requirements:
|
115
98
|
- - ! '>='
|
116
99
|
- !ruby/object:Gem::Version
|
117
100
|
version: '0'
|
101
|
+
segments:
|
102
|
+
- 0
|
103
|
+
hash: -1563738831700431400
|
118
104
|
requirements: []
|
119
105
|
rubyforge_project:
|
120
|
-
rubygems_version: 1.8.
|
106
|
+
rubygems_version: 1.8.10
|
121
107
|
signing_key:
|
122
108
|
specification_version: 3
|
123
109
|
summary: a simple interface to gather curl stats against an HTTP resource
|