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)