Class | God::Conditions::HttpResponseCode |
In: |
lib/god/conditions/http_response_code.rb
|
Parent: | PollCondition |
Condition Symbol :http_response_code Type: Poll
Trigger based on the response from an HTTP request.
Paramaters
Required +host+ is the hostname to connect [required] --one of code_is or code_is_not-- +code_is+ trigger if the response code IS one of these e.g. 500 or '500' or [404, 500] or %w{404 500} +code_is_not+ trigger if the response code IS NOT one of these e.g. 200 or '200' or [200, 302] or %w{200 302} Optional +port+ is the port to connect (default 80) +path+ is the path to connect (default '/') +times+ is the number of times after which to trigger (default 1) e.g. 3 (times in a row) or [3, 5] (three out of fives times) +timeout+ is the time to wait for a connection (default 60.seconds)
Examples
Trigger if the response code from www.example.com/foo/bar is not a 200 (or if the connection is refused or times out:
on.condition(:http_response_code) do |c| c.host = 'www.example.com' c.path = '/foo/bar' c.code_is_not = 200 end
Trigger if the response code is a 404 or a 500 (will not be triggered by a connection refusal or timeout):
on.condition(:http_response_code) do |c| c.host = 'www.example.com' c.path = '/foo/bar' c.code_is = [404, 500] end
Trigger if the response code is not a 200 five times in a row:
on.condition(:http_response_code) do |c| c.host = 'www.example.com' c.path = '/foo/bar' c.code_is_not = 200 c.times = 5 end
Trigger if the response code is not a 200 or does not respond within 10 seconds:
on.condition(:http_response_code) do |c| c.host = 'www.example.com' c.path = '/foo/bar' c.code_is_not = 200 c.timeout = 10 end
code_is | [RW] | |
code_is_not | [RW] | |
host | [RW] | |
path | [RW] | |
port | [RW] | |
timeout | [RW] | |
times | [RW] |