hq-check-site 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/hq/check-site/script.rb +32 -3
  3. metadata +20 -36
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7659348d9eaac3642458ab753f08cb2fd6e75af6
4
+ data.tar.gz: 95bf5186c43629c2f072524d563d7283016e6f2c
5
+ SHA512:
6
+ metadata.gz: 244cc2d0c69efe57be259e17575815e796093cc2a834f19c98b94fd49bf444f5dbb3061c523603ab53e1c7962194f9fdc8a9e2b73710dcb4b9c451e2d58da2a4
7
+ data.tar.gz: 1195338e453785cc6886023556f144823bea08e8e7f0985db64fbc7b2638b444512f25f74c2e83d83405ec5f1f2037584f69a56cd6e979dfd119e8f11fa6c940
@@ -12,6 +12,35 @@ module HQ
12
12
  module CheckSite
13
13
  class Script < Tools::CheckScript
14
14
 
15
+ # this hack allows us to make Net::HTTP connect to a specific address, while
16
+ # using another address for other purposes, namely the host header and the
17
+ # ssl certificate verification (i am not proud of this)
18
+
19
+ # basically, we hijack the call to TCPSocket.open from Net::HTTP.connect,
20
+ # and modify the first parameter (the address) to the value provided as
21
+ # override_address
22
+
23
+ class CustomHTTP < Net::HTTP
24
+ attr_writer :override_address
25
+ module CustomSocket
26
+ def self.override_address= arg
27
+ @override_address = arg
28
+ end
29
+ def self.open address, *args
30
+ return TCPSocket.open @override_address, *args
31
+ end
32
+ end
33
+ def connect *args
34
+ begin
35
+ Net::HTTP.const_set "TCPSocket", CustomSocket
36
+ CustomSocket.override_address = @override_address
37
+ return super *args
38
+ ensure
39
+ Net::HTTP.send :remove_const, "TCPSocket"
40
+ end
41
+ end
42
+ end
43
+
15
44
  def initialize
16
45
  super
17
46
  @name = "Site"
@@ -117,12 +146,12 @@ class Script < Tools::CheckScript
117
146
  # open http connection
118
147
 
119
148
  http =
120
- Net::HTTP.new \
149
+ CustomHTTP.new \
121
150
  @base_url.host,
122
- @base_url.port,
123
- address,
124
151
  @base_url.port
125
152
 
153
+ http.override_address = address
154
+
126
155
  http.open_timeout = @timeout_time
127
156
  http.read_timeout = @timeout_time
128
157
  http.use_ssl = @base_url.scheme == "https"
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hq-check-site
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
- prerelease:
4
+ version: 0.1.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - James Pharaoh
@@ -14,113 +13,99 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: hq-tools
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 0.3.1
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 0.3.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: libxml-ruby
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 2.6.0
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 2.6.0
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: cucumber
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: 1.2.1
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: 1.2.1
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: 10.0.3
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: 10.0.3
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: 2.12.0
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: 2.12.0
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: rspec_junit_formatter
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ! '>='
87
+ - - '>='
100
88
  - !ruby/object:Gem::Version
101
89
  version: '0'
102
90
  type: :development
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ! '>='
94
+ - - '>='
108
95
  - !ruby/object:Gem::Version
109
96
  version: '0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: simplecov
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - '>='
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - '>='
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  description: HQ nagios plugin to check a web site
@@ -144,27 +129,26 @@ files:
144
129
  - bin/hq-check-site
145
130
  homepage: https://github.com/jamespharaoh/hq-check-site
146
131
  licenses: []
132
+ metadata: {}
147
133
  post_install_message:
148
134
  rdoc_options: []
149
135
  require_paths:
150
136
  - lib
151
137
  required_ruby_version: !ruby/object:Gem::Requirement
152
- none: false
153
138
  requirements:
154
- - - ! '>='
139
+ - - '>='
155
140
  - !ruby/object:Gem::Version
156
141
  version: '0'
157
142
  required_rubygems_version: !ruby/object:Gem::Requirement
158
- none: false
159
143
  requirements:
160
- - - ! '>='
144
+ - - '>='
161
145
  - !ruby/object:Gem::Version
162
146
  version: 1.3.6
163
147
  requirements: []
164
148
  rubyforge_project: hq-check-site
165
- rubygems_version: 1.8.23
149
+ rubygems_version: 2.0.0
166
150
  signing_key:
167
- specification_version: 3
151
+ specification_version: 4
168
152
  summary: HQ check site script
169
153
  test_files:
170
154
  - features/headers-auth.feature