def authrep(options)
      path = "/transactions/authrep.xml?#{creds_params(options)}"

      options_usage = options.delete :usage
      options_log   = options.delete :log
      extensions    = options.delete :extensions

      options.each_pair do |param, value|
        path += "&#{param}=#{CGI.escape(value.to_s)}"
      end

      options_usage ||= {:hits => 1}
      path += "&#{usage_query_params(options_usage)}"

      if options_log
        log = []
        options_log.each_pair do |key, value|
          escaped_key = CGI.escape "[log][#{key}]"
          log << "#{escaped_key}=#{CGI.escape(value)}"
        end
        path += "&#{log.join('&')}"
      end

      headers = extensions_to_header extensions if extensions
      http_response = @http.get(path, headers: headers)

      case http_response
      when Net::HTTPSuccess,Net::HTTPConflict
        build_authorize_response(http_response.body)
      when Net::HTTPClientError
        build_error_response(http_response.body, AuthorizeResponse)
      else
        raise ServerError.new(http_response)
      end
    end
def authrep(options)
      path = "/transactions/authrep.xml?#{creds_params(options)}"

      options_usage = options.delete :usage
      options_log   = options.delete :log
      extensions    = options.delete :extensions

      options.each_pair do |param, value|
        path += "&#{param}=#{CGI.escape(value.to_s)}"
      end

      options_usage ||= {:hits => 1}
      path += "&#{usage_query_params(options_usage)}"

      if options_log
        log = []
        options_log.each_pair do |key, value|
          escaped_key = CGI.escape "[log][#{key}]"
          log << "#{escaped_key}=#{CGI.escape(value)}"
        end
        path += "&#{log.join('&')}"
      end

      headers = extensions_to_header extensions if extensions
      http_response = @http.get(path, headers: headers)

      case http_response
      when Net::HTTPSuccess,Net::HTTPConflict
        build_authorize_response(http_response.body)
      when Net::HTTPClientError
        build_error_response(http_response.body, AuthorizeResponse)
      else
        raise ServerError.new(http_response)
      end
    end
Authorize and report an application.
 TODO (in the mean time read authorize comments or head over to https://support.3scale.net/reference/activedocs#operation/66 for details