small refactorings

This commit is contained in:
Reinier Balt 2013-05-05 20:32:32 +02:00
parent 26a27e5cfe
commit ccdaae038b
4 changed files with 57 additions and 63 deletions

View file

@ -33,17 +33,12 @@ class IntegrationsController < ApplicationController
end
def cloudmailin
# verify cloudmailin signature
provided = request.request_parameters.delete(:signature)
signature = Digest::MD5.hexdigest(request.request_parameters.sort{|a,b| a[0].to_s <=> b[0].to_s}.map{|k,v| v}.join + SITE_CONFIG['cloudmailin'])
# if signature does not match, return 403
if provided != signature
if !verify_cloudmailin_signature
render :text => "Message signature verification failed.", :status => 403
return false
end
if MessageGateway::receive(Mail.new(params[:message]))
if process_message(params[:message])
render :text => 'success', :status => 200
else
render :text => "No user found or other error", :status => 404
@ -51,6 +46,16 @@ class IntegrationsController < ApplicationController
end
private
def process_message(message)
MessageGateway::receive(Mail.new(message))
end
def verify_cloudmailin_signature
provided = request.request_parameters.delete(:signature)
signature = Digest::MD5.hexdigest(request.request_parameters.sort{|a,b| a[0].to_s <=> b[0].to_s}.map{|k,v| v}.join + SITE_CONFIG['cloudmailin'])
return provided == signature
end
def get_applescript(partial_name)
context = current_user.contexts.find params[:context_id]