Class: EmailApi

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/email_api.rb

Overview

Main class of Email API Project

Instance Method Summary collapse

Instance Method Details

#handle_api(api_params) ⇒ Object

Handle request received through API



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/email_api.rb', line 30

def handle_api(api_params)
  return nil if !api_params.respond_to?(:[]) && !api_params.is_a?(Hash)
  from      = api_params['from']
  to        = api_params['to']
  cc        = api_params['cc']
  bcc       = api_params['bcc']
  subject   = api_params['subject']
  content   = api_params['content']
  email_obj = ApiParser.parse_email(from, to, cc, bcc, subject, content)
  EmailClient.send_email(email_obj)
rescue StandardError => e
  puts "Error: #{e.class}: #{e.message}"
  response = ClientResponse.new
  response.set_internal_err
  response
end