Class: Walletone::Middleware::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/walletone/middleware/base.rb

Direct Known Subclasses

Callback

Constant Summary collapse

OK =
'OK'
RETRY =
'RETRY'

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/walletone/middleware/base.rb', line 20

def call(env)
  logger.info 'Middleware start'
  request  = Rack::Request.new env
  encoded_params = from_cp1251_to_utf8 request.params

  logger.info "Middleware parameters is #{encoded_params}"
  notify = Walletone::Notification.new encoded_params

  logger.info 'Middleware perform'
  ok_message = perform notify, env

  logger.info "Middleware result is #{ok_message}'"

  body = make_response OK, ok_message
  [200, {}, [body]]
rescue => err
  Walletone.notify_error err

  [200, {}, [make_response(RETRY, err.message)]]
end