class Postmark::SpamCheck::Client

Constants

SPAM_CHECK_URI

Public Class Methods

new(timeout = 60) click to toggle source
# File lib/postmark/spam_check/client.rb, line 13
def initialize(timeout = 60)
  @timeout = timeout
end

Public Instance Methods

check(raw_email, report_format = :long) click to toggle source
# File lib/postmark/spam_check/client.rb, line 17
def check(raw_email, report_format = :long)
  report = SpamCheck::Report.new(raw_email)
  result = fetch_report(raw_email, report_format)
  report.load_results(result)
rescue StandardError => error
  report.error = error.message || error.inspect
  report
end

Private Instance Methods

fetch_report(raw_email, report_format) click to toggle source
# File lib/postmark/spam_check/client.rb, line 27
def fetch_report(raw_email, report_format)
  response = http_request({email: raw_email, options: report_format})
  JSON.parse(response.body)
end
http_request(params) click to toggle source
# File lib/postmark/spam_check/client.rb, line 32
def http_request(params)
  uri = URI.parse(SPAM_CHECK_URI)
  http = Net::HTTP.new(uri.host, uri.port)
  http.read_timeout = @timeout
  request = Net::HTTP::Post.new(uri.request_uri, {'Content-Type' =>'application/json'})
  request.body = params.to_json
  http.request(request)
end