module Fluent::GridDBAuth
Public Instance Methods
create_request(record)
click to toggle source
Create new request
# File lib/fluent/plugin/griddb_auth.rb, line 48 def create_request(record) url = format_url() uri = URI.parse(URI.encode(url)) req = Net::HTTP::Put.new(uri.request_uri) req.basic_auth(@username, @password) set_body(req, record) return req, uri end
format_url()
click to toggle source
Get URL to API
# File lib/fluent/plugin/griddb_auth.rb, line 80 def format_url() if $real_container.nil? || $real_container.empty? @host + "/griddb/v2/" + @cluster + "/dbs/" + @database + "/containers/" + @container + "/rows" else @host + "/griddb/v2/" + @cluster + "/dbs/" + @database + "/containers/" + $real_container + "/rows" end end
send_request(req, uri)
click to toggle source
Send request
# File lib/fluent/plugin/griddb_auth.rb, line 58 def send_request(req, uri) res = nil begin @last_request_time = Time.now.to_f res = Net::HTTP.start(uri.host, uri.port) {|http| http.request(req) } rescue => e log.warn "Net::HTTP.#{req.method.capitalize} raises exception: #{e.class}, '#{e.message}'" raise e if @raise_on_error else unless res and res.is_a?(Net::HTTPSuccess) res_summary = if res "#{res.code} #{res.message} #{res.body}" else "res=nil" end log.warn "failed to #{req.method} #{uri} (#{res_summary})" end end end
set_body(req, record)
click to toggle source
Set type for request body
# File lib/fluent/plugin/griddb_auth.rb, line 42 def set_body(req, record) req.body = Yajl.dump(record) req['Content-Type'] = 'application/json' end