module Spear::Plugins::SaveApis

Public Instance Methods

record_started_time() click to toggle source
# File lib/spear/plugins/save_apis.rb, line 15
def record_started_time
  self.api_started_at = Time.now
end
save_infos() click to toggle source
# File lib/spear/plugins/save_apis.rb, line 19
def save_infos
  params = {
    project: Spear.project,
    request: nil,
    response: self.api_response.body,
    method: self.api_response.request.http_method.to_s.split('::').last,
    url: self.api_response.request.path.to_s,
    duration: ((Time.now - self.api_started_at).to_f * 1000.0).to_i
  }

  params[:request] = self.api_response.request.options[:body] || self.api_response.request.options[:query]
  if params[:request].kind_of?(String)
      # parse file api
      params[:request].gsub!(/<FileBytes>(.|\n)*<\/FileBytes>/m, '<FileBytes>...</FileBytes>')
      # apply job api
      params[:request].gsub!(/<ResumeData>(.|\n)*<\/ResumeData>/m, '<ResumeData>...</ResumeData>')
  elsif params[:request].kind_of?(Hash)
    # upload file api
    params[:request][:FileBytes] = '...'
  end

  AsyncSaveApi.new.async.perform(params)
end