class Portcullis::APIClient
Public Class Methods
new(config_file_path)
click to toggle source
# File lib/portcullis.rb, line 8 def initialize(config_file_path) @config = YAML::load_file(config_file_path) end
Public Instance Methods
create_token(user_id)
click to toggle source
# File lib/portcullis.rb, line 28 def create_token(user_id) success, response = post("tokens/create", {"uid": user_id}) end
destroy_token(user_id)
click to toggle source
# File lib/portcullis.rb, line 32 def destroy_token(user_id) success, response = post("tokens/destroy", {"uid": user_id}) unless success return response end end
post(path, content)
click to toggle source
# File lib/portcullis.rb, line 12 def post(path, content) uri = URI("https://portcullis.io/api/#{path}") req = Net::HTTP::Post.new(uri) req["X-PORTCULLIS-GATEWAY"] = @config["gateway"] req["X-PORTCULLIS-API-KEY"] = @config["api_key"] req.set_form_data(content) res = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => true) do |http| http.request(req) end response = JSON.parse(res.body) return response["success"], response end
verify_token(user_id, token)
click to toggle source
# File lib/portcullis.rb, line 39 def verify_token(user_id, token) success, response = post("tokens/verify", {"uid": user_id, "token": token}) unless success return response end end