summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/initializers/1_settings.rb4
-rw-r--r--lib/mattermost/session.rb36
2 files changed, 23 insertions, 17 deletions
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 45404e579ae..ddea325c6ca 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -265,8 +265,8 @@ Settings.lfs['storage_path'] = File.expand_path(Settings.lfs['storage_path'] ||
# Mattermost
#
Settings['mattermost'] ||= Settingslogic.new({})
-Settings.mattermost['enabled'] = false if Settings.mattermost['enabled'].nil?
-Settings.mattermost['host'] = nil unless Settings.mattermost.enabled
+Settings.mattermost['enabled'] = false if Settings.mattermost['enabled'].nil?
+Settings.mattermost['host'] = nil unless Settings.mattermost.enabled
#
# Gravatar
diff --git a/lib/mattermost/session.rb b/lib/mattermost/session.rb
index a3715bed482..fb8d7d97f8a 100644
--- a/lib/mattermost/session.rb
+++ b/lib/mattermost/session.rb
@@ -54,7 +54,15 @@ module Mattermost
end
def params
- Rack::Utils.parse_query(@oauth_uri.query).symbolize_keys
+ Rack::Utils.parse_query(oauth_uri.query).symbolize_keys
+ end
+
+ def get(path, options = {})
+ self.class.get(path, options.merge(headers: @headers))
+ end
+
+ def post(path, options = {})
+ self.class.post(path, options.merge(headers: @headers))
end
private
@@ -63,11 +71,12 @@ module Mattermost
return unless oauth_uri
return unless token_uri
- self.token = request_token
+ @token = request_token
@headers = {
- "Authorization": "Bearer #{self.token}"
+ Authorization: "Bearer #{@token}"
}
- self.token
+
+ @token
end
def destroy
@@ -75,35 +84,32 @@ module Mattermost
end
def oauth_uri
+ return @oauth_uri if defined?(@oauth_uri)
+
+ @oauth_uri = nil
+
response = get("/api/v3/oauth/gitlab/login", follow_redirects: false)
return unless 300 <= response.code && response.code < 400
redirect_uri = response.headers['location']
return unless redirect_uri
- @oauth_uri ||= URI.parse(redirect_uri)
+ @oauth_uri = URI.parse(redirect_uri)
end
def token_uri
@token_uri ||=
- if @oauth_uri
+ if oauth_uri
authorization.authorize.redirect_uri if pre_auth.authorizable?
end
end
def request_token
- response = get(@token_uri, follow_redirects: false)
+ response = get(token_uri, follow_redirects: false)
+
if 200 <= response.code && response.code < 400
response.headers['token']
end
end
-
- def get(path, options = {})
- self.class.get(path, options.merge(headers: @headers))
- end
-
- def post(path, options = {})
- self.class.post(path, options.merge(headers: @headers))
- end
end
end