Sha256: a7733729261eefd2789bf8bad7c2e8407a144d90a2cf7cd2d3c8fb79479bf8ab
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
module GLPI module SDK class Session include HTTParty attr_accessor :token, :app_token def initialize(url, app_token, username, password) @url = url @app_token = app_token @auth = { username: username, password: password } init end # Request a session token to uses other api endpoints def init response = request :get, '/initSession', basic_auth: @auth self.token = response['session_token'] end # Destroy a session identified by a session token. def kill request :get, '/killSession' self.token = nil end # Return the current active profile def active_profile request :get, '/getActiveProfile' end # Return active entities of current logged user def active_entities request :get, '/getActiveEntities' end # Return the current php $_SESSION def full_session request :get, '/getFullSession' end # Return the current $CFG_GLPI def glpi_config request :get, '/getGlpiConfig' end 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
glpi-sdk-ruby-0.0.2 | lib/glpi/sdk/session.rb |