class Typekitable::Request

Constants

BASE_URL

Attributes

parameters[R]
path[R]
verb[R]

Public Class Methods

new(path, verb, parameters) click to toggle source
# File lib/typekitable/request.rb, line 7
def initialize(path, verb, parameters)
  @path = path
  @verb = verb
  @parameters = parameters
end

Public Instance Methods

headers() click to toggle source
# File lib/typekitable/request.rb, line 28
def headers
  { "X-Typekit-Token" => token }
end
response() click to toggle source
# File lib/typekitable/request.rb, line 17
def response
  case verb
    when "GET" then get_request_response
    when "POST" then post_request_response
  end
end
token() click to toggle source
# File lib/typekitable/request.rb, line 13
def token
  Tokenizer.get_token
end
uri() click to toggle source
# File lib/typekitable/request.rb, line 24
def uri
  URI.parse(BASE_URL + path)
end

Private Instance Methods

build_response(code, message, body) click to toggle source
# File lib/typekitable/request.rb, line 56
def build_response(code, message, body)
  Response.new(:code => code, :message => message, :body => body)
end
get_request_response() click to toggle source
# File lib/typekitable/request.rb, line 40
def get_request_response
  http_request do |https, uri|
    response = https.get(uri.path, headers)
    build_response(response.code, response.message, response.body)
  end
end
http_request() { |https, uri| ... } click to toggle source
# File lib/typekitable/request.rb, line 34
def http_request
  Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |https|
    yield(https, uri)
  end
end
post_request_response() click to toggle source
# File lib/typekitable/request.rb, line 47
def post_request_response
  req = Net::HTTP::Post.new(uri.path, headers)
  req.set_form_data(parameters)
  http_request do |https, uri|
    response = https.request(req)
    build_response(response.code, response.message, response.body)
  end
end