class AppsecFlowImport::Vulnerability

Attributes

args[R]
client[R]

Public Class Methods

new(client) click to toggle source
# File lib/appsec_flow_import/vulnerability.rb, line 5
def initialize(client)
  raise ArgumentError, 'client param must be a Client class' if client.class != AppsecFlowImport::Client

  @client = client
end

Public Instance Methods

create!(*params) click to toggle source
# File lib/appsec_flow_import/vulnerability.rb, line 11
def create!(*params)
  # params.first[:evidences].each do |archive_path|
  #   params.first[:vulnerability_archives_attributes] = [{ archive: Faraday::UploadIO.new(archive_path, 'image/png') }]
  # end
  # params.first.delete(:evidences)

  # params.first[:evidences].each do |archive_path|
  #   params.first[:vulnerability_archives_attributes] = [{ evidence_text: Faraday::UploadIO.new(archive_path, 'image/png') }]
  # end

  # params.first.delete(:evidences)

  conn = Faraday.new(url: @client.base_url) do |f|
    f.request :multipart
    f.request :url_encoded
    f.adapter :net_http
    f.ssl.verify = false
  end

  conn.post '/api/v2/vulnerabilities', vulnerability: params.first do |request|
    request.headers['x-api-key'] = @client.api_key
  end
end