bobble 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -17,11 +17,15 @@ module Bobble
17
17
  :success_header => nil,
18
18
  # Response body must match the specified body.
19
19
  # Can be a regex.
20
- :success_body => nil
20
+ :success_body => nil,
21
+ # Specific HTTP request headers may be sent
22
+ # along with the URL to be checked.
23
+ # Must be a hash { "key1" => "val1", "key2 => "val2" }
24
+ :request_headers => nil
21
25
  }.update(options)
22
26
 
23
27
  begin
24
- response = http_request(url)
28
+ response = http_request(url, options)
25
29
  assert_success(response, options)
26
30
  puts "Successful!: #{url}"
27
31
  rescue Exception => e
@@ -32,23 +36,29 @@ module Bobble
32
36
  end
33
37
  end
34
38
 
35
- def http_request(url)
39
+ def http_request(url, options)
36
40
  uri = URI.parse(url)
37
41
  http = Net::HTTP.new(uri.host, uri.port)
38
42
  request = Net::HTTP::Get.new(uri.request_uri)
43
+
44
+ if options[:request_headers]
45
+ options[:request_headers].each do |k,v|
46
+ request.add_field(k,v)
47
+ end
48
+ end
49
+
39
50
  return http.request(request)
40
51
  end
41
52
 
42
53
  # raises an exception if not successful
43
54
  def assert_success(response, options)
44
- if response.code.to_i >= 500
45
- raise Exception.new("Response status code error: #{response.code}")
46
- end
47
55
 
48
56
  if options[:success_status]
49
57
  unless response.code.to_i == options[:success_status].to_i
50
58
  raise Exception.new("Response status code error. Is: #{response.code} Expected: #{options[:success_status]}")
51
59
  end
60
+ elsif response.code.to_i >= 500
61
+ raise Exception.new("Response status code error: #{response.code}")
52
62
  end
53
63
 
54
64
  if options[:success_header]
@@ -58,7 +58,7 @@ module Bobble
58
58
  newres = getit('https://www.google.com/voice',header)
59
59
 
60
60
  if newres
61
- rnrse = newres.match(/'_rnr_se': '([^']+)'/)[1]
61
+ rnrse = CGI.escape(newres.match(/'_rnr_se': '([^']+)'/)[1])
62
62
  numbers.each do |num|
63
63
  data = "_rnr_se=#{rnrse}&phoneNumber=#{num.strip}&text=#{message}&id="
64
64
  finalres = postit('https://www.google.com/voice/sms/send/',data,header)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bobble
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-06 00:00:00.000000000Z
12
+ date: 2012-07-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: twilio-ruby
16
- requirement: &70336608253480 !ruby/object:Gem::Requirement
16
+ requirement: &70277308961840 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.6.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70336608253480
24
+ version_requirements: *70277308961840
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: pony
27
- requirement: &70336608251420 !ruby/object:Gem::Requirement
27
+ requirement: &70277308961140 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '1.4'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70336608251420
35
+ version_requirements: *70277308961140
36
36
  description: For pinging your web services (any URL) & freely or cheaply getting email/SMS
37
37
  notifications when they're down.
38
38
  email: ahfarmer@gmail.com