class Appfirst::Client::Real
Public Class Methods
new(options={})
click to toggle source
# File lib/appfirst/client.rb, line 39 def initialize(options={}) setup(options) adapter = options[:adapter] || Faraday.default_adapter connection_options = options[:connection_options] || {ssl: {verify: false}} @connection = Faraday.new({url: @url}.merge(connection_options)) do |builder| builder.basic_auth @user, @password builder.request :url_encoded builder.response :json, content_type: /\bjson$/ builder.adapter adapter builder.request :retry, max: 10, interval: 0.05, interval_randomness: 0.5, backoff_factor: 2 builder.use Appfirst::Logger, @logger builder.adapter *adapter end end
Public Instance Methods
create_server_tag(params={})
click to toggle source
# File lib/appfirst/requests/create_server_tag.rb, line 3 def create_server_tag(params={}) request(:post, "/server_tags", params) end
request(method, request_path, params = nil)
click to toggle source
# File lib/appfirst/client.rb, line 57 def request(method, request_path, params = nil) response = @connection.send(method) do |req| req.url(File.join(@url, path, request_path, "/")) req.params.merge!(params) end Appfirst::Response.new(response.status, response.headers, response.body).raise! end