class TranslationIO::API::Request

An HTTP request

Public Class Methods

new(api_key:) click to toggle source

Constructor

@param api_key [String] translation.io api key

@return [TranslationIO::API::Request]

# File lib/translation_io/api/request.rb, line 16
def initialize(api_key:)
  @api_key = api_key
end

Public Instance Methods

get(uri, data) click to toggle source

Get request

@param uri [String] @param data [Hash] the JSON payload for this request

@return [TranslationIO::API::Response]

# File lib/translation_io/api/request.rb, line 27
def get(uri, data)
  uri = URI.parse(uri)
  req = Net::HTTP::Get.new(uri)

  req["Content-Type"] = "application/json"
  req["X-api-key"] = @api_key
  req.body = data.to_json

  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
    http.request(req)
  end

  Response.new(res)
end
post(uri, data) click to toggle source

Post request

@param uri [String] @param data [Hash] the JSON payload for this request

@return [TranslationIO::API::Response]

# File lib/translation_io/api/request.rb, line 49
def post(uri, data)
  uri = URI.parse(uri)
  req = Net::HTTP::Post.new(uri)

  req["Content-Type"] = "application/json"
  req["X-api-key"] = @api_key
  req.body = data.to_json

  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
    http.request(req)
  end

  Response.new(res)
end