dev
Karchnu 2020-10-20 23:57:37 +02:00
parent 86495365d6
commit aec3445771
5 changed files with 19 additions and 27 deletions

View File

@ -12,7 +12,7 @@ class FileStorage::Request
def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events) def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events)
user = filestoraged.get_logged_user event user = filestoraged.get_logged_user event
return Errors::Authorization.new @mid if user.nil? raise NotLoggedException.new if user.nil?
# FIXME: Maybe this should be moved to FileStorage::Service # FIXME: Maybe this should be moved to FileStorage::Service
fd = event.fd fd = event.fd
@ -20,8 +20,6 @@ class FileStorage::Request
user_data = filestoraged.get_user_data user.uid user_data = filestoraged.get_user_data user.uid
filestoraged.storage.download self, user_data filestoraged.storage.download self, user_data
rescue e
return Errors::GenericError.new @mid, e.to_s
end end
end end
FileStorage.requests << Download FileStorage.requests << Download

View File

@ -25,9 +25,7 @@ class FileStorage::Request
user_data = filestoraged.get_user_data user.uid user_data = filestoraged.get_user_data user.uid
return Response::Login.new @mid Response::Login.new @mid
rescue e
return Errors::GenericError.new @mid, "unauthorized"
end end
end end
FileStorage.requests << Login FileStorage.requests << Login

View File

@ -20,18 +20,16 @@ class FileStorage::Request
def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events) def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events)
user = filestoraged.get_logged_user event user = filestoraged.get_logged_user event
return Errors::Authorization.new @mid if user.nil? raise NotLoggedException.new if user.nil?
# FIXME: Maybe this should be moved to FileStorage::Service # FIXME: Maybe this should be moved to FileStorage::Service
fd = event.fd fd = event.fd
user_data = filestoraged.get_user_data user.uid user_data = filestoraged.get_user_data user.uid
Baguette::Log.info "PutChunk request: #{@mid}, file #{@filedigest}, chunk: n=#{@chunk.n}, on=#{@chunk.on}, digest=#{@chunk.digest}" Baguette::Log.debug "PutChunk request: #{@mid}, file #{@filedigest}, chunk: n=#{@chunk.n}, on=#{@chunk.on}, digest=#{@chunk.digest}"
filestoraged.storage.write_chunk self, user_data filestoraged.storage.write_chunk self, user_data
rescue e
return Errors::GenericError.new @mid, e.to_s
end end
end end
FileStorage.requests << PutChunk FileStorage.requests << PutChunk
@ -48,16 +46,16 @@ class FileStorage::Request
def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events) def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events)
user = filestoraged.get_logged_user event user = filestoraged.get_logged_user event
return Errors::Authorization.new @mid if user.nil? raise NotLoggedException.new if user.nil?
# FIXME: Maybe this should be moved to FileStorage::Service # FIXME: Maybe this should be moved to FileStorage::Service
fd = event.fd fd = event.fd
user_data = filestoraged.get_user_data user.uid user_data = filestoraged.get_user_data user.uid
Baguette::Log.debug "PutChunk request: #{@mid}, file #{@filedigest}, chunk: n=#{@n}"
filestoraged.storage.read_chunk self, user_data filestoraged.storage.read_chunk self, user_data
rescue e
return Errors::GenericError.new @mid, e.to_s
end end
end end
FileStorage.requests << GetChunk FileStorage.requests << GetChunk

View File

@ -10,7 +10,7 @@ class FileStorage::Request
def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events) def handle(filestoraged : FileStorage::Service, event : IPC::Event::Events)
user = filestoraged.get_logged_user event user = filestoraged.get_logged_user event
return Errors::Authorization.new @mid if user.nil? raise NotLoggedException.new if user.nil?
# FIXME: Maybe this should be moved to FileStorage::Service # FIXME: Maybe this should be moved to FileStorage::Service
fd = event.fd fd = event.fd
@ -18,8 +18,6 @@ class FileStorage::Request
user_data = filestoraged.get_user_data user.uid user_data = filestoraged.get_user_data user.uid
filestoraged.storage.upload self, user_data filestoraged.storage.upload self, user_data
rescue e
return Errors::GenericError.new @mid, e.to_s
end end
end end
FileStorage.requests << Upload FileStorage.requests << Upload

View File

@ -116,20 +116,20 @@ class FileStorage::Service < IPC::Server
request_id = "#{request.id}" request_id = "#{request.id}"
begin response = begin
response = request.handle self, event request.handle self, event
rescue e : AuthorizationException rescue e : AuthorizationException
Baguette::Log.error "#{request_name} authorization error" Baguette::Log.warning "#{request_name} authorization error"
response = FileStorage::Errors::GenericError.new request_id, "authorization error" Errors::Authorization.new request_id
rescue e : AdminAuthorizationException rescue e : AdminAuthorizationException
Baguette::Log.error "#{request_name} no admin authorization" Baguette::Log.warning "#{request_name} no admin authorization"
response = FileStorage::Errors::GenericError.new request_id, "admin authorization error" Errors::Authorization.new request_id
rescue e : NotLoggedException rescue e : NotLoggedException
Baguette::Log.error "#{request_name} user not logged" Baguette::Log.warning "#{request_name} user not logged"
response = FileStorage::Errors::GenericError.new request_id, "user not logged" Errors::GenericError.new request_id, "user not logged"
# Do not handle generic exception case: do not provide a response. rescue e
# rescue e # Generic case Baguette::Log.error "#{request_name} generic error #{e}"
# Baguette::Log.error "#{request_name} generic error #{e}" Errors::GenericError.new request_id, "unexpected error"
end end
# If clients sent requests with an “id” field, it is copied # If clients sent requests with an “id” field, it is copied