lib/chronicle/etl/loaders/rest_loader.rb in chronicle-etl-0.5.5 vs lib/chronicle/etl/loaders/rest_loader.rb in chronicle-etl-0.6.1

- old
+ new

@@ -1,29 +1,29 @@ +# frozen_string_literal: true + require 'net/http' require 'uri' require 'json' +require 'chronicle/serialization' module Chronicle module ETL class RestLoader < Chronicle::ETL::Loader register_connector do |r| + r.identifier = :rest r.description = 'a REST endpoint' end setting :hostname, required: true setting :endpoint, required: true setting :access_token - def load(record) - payload = Chronicle::ETL::JSONAPISerializer.serialize(record) - # have the outer data key that json-api expects - payload = { data: payload } unless payload[:data] - + def load(payload) uri = URI.parse("#{@config.hostname}#{@config.endpoint}") header = { - "Authorization" => "Bearer #{@config.access_token}", - "Content-Type": 'application/json' + 'Authorization' => "Bearer #{@config.access_token}", + 'Content-Type': 'application/json' } use_ssl = uri.scheme == 'https' Net::HTTP.start(uri.host, uri.port, use_ssl: use_ssl) do |http| request = Net::HTTP::Post.new(uri.request_uri, header)