Class: Backup::Notifier::HttpPost

Inherits:
Base
  • Object
show all
Defined in:
lib/backup/notifier/http_post.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#max_retries, #message, #model, #on_failure, #on_success, #on_warning, #retry_waitsec

Instance Method Summary collapse

Methods inherited from Base

#perform!

Methods included from Config::Helpers

included

Constructor Details

#initialize(model, &block) ⇒ HttpPost

Returns a new instance of HttpPost.



69
70
71
72
73
74
75
76
# File 'lib/backup/notifier/http_post.rb', line 69

def initialize(model, &block)
  super
  instance_eval(&block) if block_given?

  @headers ||= {}
  @params  ||= {}
  @success_codes ||= 200
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Backup::Config::Helpers

Instance Attribute Details

#headersObject

Hash of additional HTTP headers to send.

This notifier sets the following headers: { ‘User-Agent’ => “Backup/#{ Backup::VERSION }”,

'Content-Type' => 'x-www-form-urlencoded' }

‘Content-Type’ may not be changed. ‘User-Agent’ may be overridden or omitted by setting it to nil. e.g. { ‘Authorization’ => ‘my_auth_info’, ‘User-Agent’ => nil }



30
31
32
# File 'lib/backup/notifier/http_post.rb', line 30

def headers
  @headers
end

#paramsObject

Hash of additional POST parameters to send.

This notifier will set two parameters: { ‘status’ => ‘success|warning|failure’,

'message' => '[Backup::(Success|Warning|Failure)] label (trigger)' }

‘status’ may not be changed. ‘message’ may be overridden or omitted by setting a nil value. e.g. { ‘auth_token’ => ‘my_token’, ‘message’ => nil }



42
43
44
# File 'lib/backup/notifier/http_post.rb', line 42

def params
  @params
end

#ssl_ca_fileObject

Path to a cacert.pem file to use for ssl_verify_peer.

This is provided (via Excon), but may be specified if needed.



67
68
69
# File 'lib/backup/notifier/http_post.rb', line 67

def ssl_ca_file
  @ssl_ca_file
end

#ssl_verify_peerObject

Verify the server’s certificate when using SSL.

This will default to true for most systems. It may be forced by setting to true, or disabled by setting to false.



61
62
63
# File 'lib/backup/notifier/http_post.rb', line 61

def ssl_verify_peer
  @ssl_verify_peer
end

#success_codesObject

Successful HTTP Status Code(s) that should be returned.

This may be a single code or an Array of acceptable codes. e.g. [200, 201, 204]

If any other response code is returned, the request will be retried using ‘max_retries` and `retry_waitsec`.

Default: 200



54
55
56
# File 'lib/backup/notifier/http_post.rb', line 54

def success_codes
  @success_codes
end

#uriObject

URI to post notification to.

URI scheme may be ‘http` or `https`.

If Basic Authentication is needed, supply the ‘user:password` in the URI. e.g. ’user:[email protected]/path

Port may also be supplied. e.g. ‘www.example.com:8080/path



18
19
20
# File 'lib/backup/notifier/http_post.rb', line 18

def uri
  @uri
end