client.rb 1.02 KB
require 'httparty'

module ApiClient::Client
  include HTTMultiParty
  default_timeout 10 * 60

  def self.submit(request, files)
    o = { query: request.params.clone }
    o[:query].merge!({ :servico => request.service_type })
    o[:query].merge!({ :callback => "http://150.165.205.192:3000/v_libras/requests/callback?request_id=#{request.id}" })

    o[:query].merge!({ :video => files[:video].file.to_file })

    unless files[:subtitle].file.nil?
      o[:query].merge!({ :legenda => files[:subtitle].file.to_file })
      o[:query].merge!({ :linguagem => 'portugues' })
    end

    Delayed::Worker.logger.debug "[VLibras::Request] Options: #{o}"

    response = self.post(ApiClient::API_URL, o)

    Delayed::Worker.logger.debug "[VLibras::Request] Status #{response.response.code}"

    if response.response.code == '200'

    else
      request.update!(:response => response.body, :status => 'error')
    end
  rescue

  end

private
  def self.url_with_service(service)
    URI.encode("#{ApiClient::API_URL}?servico=#{service}")
  end
end