diff options
Diffstat (limited to 'app/controllers/api')
-rw-r--r-- | app/controllers/api/salmon_controller.rb | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/app/controllers/api/salmon_controller.rb b/app/controllers/api/salmon_controller.rb index 7fc5e548d..f611b48a0 100644 --- a/app/controllers/api/salmon_controller.rb +++ b/app/controllers/api/salmon_controller.rb @@ -5,10 +5,8 @@ class Api::SalmonController < ApiController respond_to :txt def update - payload = request.body.read - - if !payload.nil? && verify?(payload) - SalmonWorker.perform_async(@account.id, payload.force_encoding('UTF-8')) + if verify_payload? + process_salmon head 201 else head 202 @@ -21,7 +19,15 @@ class Api::SalmonController < ApiController @account = Account.find(params[:id]) end - def verify?(payload) - VerifySalmonService.new.call(payload) + def payload + @_payload ||= request.body.read + end + + def verify_payload? + payload.present? && VerifySalmonService.new.call(payload) + end + + def process_salmon + SalmonWorker.perform_async(@account.id, payload.force_encoding('UTF-8')) end end |