module Locked::API::Request::Build

Constants

API_KEY_HEADER

Public Class Methods

call(command, headers, api_key) click to toggle source
# File lib/locked/api/request/build.rb, line 10
def call(command, headers, api_key)
  headers[API_KEY_HEADER] = api_key
  request = Net::HTTP.const_get(
    command.method.to_s.capitalize
  ).new("/#{Locked.config.url_prefix}/#{command.path}", headers)

  if Locked.config.basic_auth
    request.basic_auth(Locked.config.basic_auth[:username], Locked.config.basic_auth[:password])
  end

  command.data.delete(:context) # TODO: use context in request
  unless command.method == :get
    request.body = ::Locked::Utils.replace_invalid_characters(
      command.data
    ).to_json
  end

  request
end