Sha256: 4bb8b61ce64ad22cf20e3f74ef995b89577e472a3bb997830526371c4f4f79de
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require_relative 'endpoint' require_relative 'request' require_relative 'websocket_client' module Mattermost class Client extend Gem::Deprecate include Mattermost::Endpoint include Mattermost::Request attr_accessor :server, :token, :headers # *DEPRECATED* I'll remove this method soon def base_uri "#{server}/api/v4" end deprecate :base_uri, :none, 2018, 1 def initialize(server) self.server = server self.headers = {:Accept => "application/json"} end def login(username, password) login_request = post('/users/login', :body => {:login_id => username, :password => password}.to_json) self.token = login_request.headers['token'] update_token end def logout post("/users/logout") self.token = nil update_token end def use_access_token(token) self.token = token update_token end def connected? get_me.success? end def connect_websocket # TODO raise exception then connected? == false @ws_client = WebSocketClient.new "#{base_uri}/websocket", token, {:headers => self.headers} yield @ws_client if block_given? @ws_client end def ws_client @ws_client end private def update_token headers[:Authorization] = "Bearer #{token}" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mattermost-api4-ruby-0.0.8 | lib/mattermost/client.rb |