Class: KStor::Controller::RequestHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/kstor/controller/request_handler.rb

Overview

Request handler.

Instance Method Summary collapse

Constructor Details

#initialize(store, session_store) ⇒ RequestHandler

Returns a new instance of RequestHandler.



14
15
16
17
18
19
# File 'lib/kstor/controller/request_handler.rb', line 14

def initialize(store, session_store)
  @auth = Controller::Authentication.new(store, session_store)
  @secret = Controller::Secret.new(store)
  @user = Controller::User.new(store)
  @store = store
end

Instance Method Details

#handle_request(req) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/kstor/controller/request_handler.rb', line 21

def handle_request(req)
  user, sid = @auth.authenticate(req)
  controller = controller_from_request_type(req)
  resp = @store.transaction { controller.handle_request(user, req) }
  user.lock
  resp.session_id = sid
  resp
rescue RbNaClError => e
  Log.exception(e)
  Error.for_code('CRYPTO/UNSPECIFIED').response
rescue Error => e
  Log.info(e.message)
  e.response
end