module WolfCore::HttpDataSource

def http_put(url:, headers: {}, query: nil, body: nil, timeout: nil)

def http_put(url:, headers: {}, query: nil, body: nil, timeout: nil)
  headers['Content-Type'] ||= 'application/json'
  body = body&.to_json if headers['Content-Type'] == 'application/json'
  HTTParty.put(url, headers: headers, query: query, body: body, timeout: timeout, open_timeout: timeout, read_timeout: timeout, write_timeout: timeout)
end