class GLPI::SDK::Session
Attributes
app_token[RW]
token[RW]
Public Class Methods
new(url, app_token, username, password)
click to toggle source
# File lib/glpi/sdk/session.rb, line 8 def initialize(url, app_token, username, password) @url = url @app_token = app_token @auth = { username: username, password: password } init end
Public Instance Methods
active_entities()
click to toggle source
Return active entities of current logged user
# File lib/glpi/sdk/session.rb, line 34 def active_entities request :get, '/getActiveEntities' end
active_profile()
click to toggle source
Return the current active profile
# File lib/glpi/sdk/session.rb, line 29 def active_profile request :get, '/getActiveProfile' end
full_session()
click to toggle source
Return the current php $_SESSION
# File lib/glpi/sdk/session.rb, line 39 def full_session request :get, '/getFullSession' end
glpi_config()
click to toggle source
Return the current $CFG_GLPI
# File lib/glpi/sdk/session.rb, line 44 def glpi_config request :get, '/getGlpiConfig' end
init()
click to toggle source
Request a session token to uses other api endpoints
# File lib/glpi/sdk/session.rb, line 17 def init response = request :get, '/initSession', basic_auth: @auth self.token = response['session_token'] end
kill()
click to toggle source
Destroy a session identified by a session token.
# File lib/glpi/sdk/session.rb, line 23 def kill request :get, '/killSession' self.token = nil end
request(method, endpoint, options = {})
click to toggle source
# File lib/glpi/sdk/session.rb, line 48 def request(method, endpoint, options = {}) options[:base_uri] = @url options[:headers] = options.fetch(:headers, {}) options[:headers]['Content-Type'] = 'application/json' options[:headers]['App-Token'] = @app_token options[:headers]['Session-Token'] = @token if @token response = self.class.send(method, endpoint, options) unless response.success? type, message = response.parsed_response Error.dispatch(type, message) end response.parsed_response end