Module: Spear::Plugins::SaveApis

Extended by:
ActiveSupport::Concern
Defined in:
lib/spear/plugins/save_apis.rb

Defined Under Namespace

Classes: AsyncSaveApi

Instance Method Summary collapse

Instance Method Details

#record_started_timeObject



15
16
17
# File 'lib/spear/plugins/save_apis.rb', line 15

def record_started_time
  self.api_started_at = Time.now
end

#save_infosObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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