chat_sdk-mattermost 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 858c54b49dd67ec3850a0d5896598be9c58794a2f2fdd6ee07233f7f20ff13fb
4
- data.tar.gz: 0071f01c237e90e2ac85a2d12cb3917b83869a75a4115fa11a6aa22f0ee476dc
3
+ metadata.gz: 534e566d4f8f760924d1fdb9521280adf8cd44c6a8010f9c7ea541902ba4e4cf
4
+ data.tar.gz: 4a59772d82b22d063d8ab4e9d3c07223d8a5795d898cb083f32f7e414e66a848
5
5
  SHA512:
6
- metadata.gz: 8100e0c6256b3e21dd9a1bbf4a16f4c7acd61130b4df064a1142148876456ea2c1e25a1dcd7716bca9bfbe51a068300d773175aa6b20c0872fd9000472eee1d6
7
- data.tar.gz: a05820710ee8e3fbdfdc74eb9f45e40c123212b870f1b57a1c56ac0267146073dc0756f4b9d738bcd401ebaed311916fb4f146342b49555457f4f07936422fd4
6
+ metadata.gz: e485e344c0bd67e89d1420bf4c7be8282bc73d466a199e3d7f0ce5949b626c411cfced119f8c67dfe1eed9fad9f6affc7c7bd79f122b773275212b7e4c2ecbb5
7
+ data.tar.gz: 96984f4613c626e198593f6e2ee09d557e32c0812260e75ad865efde3e067c5d2f2da45b7536830ea9c8a6c0c4f627719da3d4f8a332e4d45ac0d58e2512a21f
@@ -50,10 +50,7 @@ module ChatSDK
50
50
  end
51
51
 
52
52
  def parse_events(rack_request)
53
- body = rack_request.body.read
54
- rack_request.body.rewind
55
-
56
- payload = JSON.parse(body)
53
+ payload = read_json_body(rack_request)
57
54
  EventParser.parse(payload, bot_user_id: @bot_user_id)
58
55
  rescue JSON::ParserError
59
56
  []
@@ -2,11 +2,9 @@
2
2
 
3
3
  module ChatSDK
4
4
  module Mattermost
5
- class ApiClient
6
- attr_reader :base_url
7
-
5
+ class ApiClient < ChatSDK::ApiClient::Base
8
6
  def initialize(base_url:, bot_token:)
9
- @base_url = base_url.chomp("/")
7
+ @base_url_value = base_url.chomp("/")
10
8
  @bot_token = bot_token
11
9
  end
12
10
 
@@ -63,21 +61,12 @@ module ChatSDK
63
61
 
64
62
  # Files
65
63
  def upload_file(channel_id:, io:, filename:)
66
- conn = Faraday.new(url: @base_url) do |f|
67
- f.request :multipart
68
- f.response :json
69
- f.adapter :net_http
70
- end
71
-
72
64
  payload = {
73
65
  files: Faraday::Multipart::FilePart.new(io, "application/octet-stream", filename),
74
66
  channel_id: channel_id
75
67
  }
76
68
 
77
- response = conn.post("/api/v4/files", payload) do |req|
78
- req.headers["Authorization"] = "Bearer #{@bot_token}"
79
- end
80
-
69
+ response = upload_connection.post("/api/v4/files", payload)
81
70
  handle_response(response)
82
71
  end
83
72
 
@@ -88,43 +77,28 @@ module ChatSDK
88
77
 
89
78
  private
90
79
 
91
- def connection
92
- @connection ||= Faraday.new(url: @base_url) do |f|
93
- f.request :json
94
- f.response :json
95
- f.adapter :net_http
96
- end
80
+ def base_url
81
+ @base_url_value
97
82
  end
98
83
 
99
- def request(method, path, body = nil)
100
- response = connection.public_send(method, path) do |req|
101
- req.headers["Authorization"] = "Bearer #{@bot_token}"
102
- req.body = body if body && method != :get
103
- end
84
+ def adapter_name
85
+ :mattermost
86
+ end
104
87
 
105
- handle_response(response)
88
+ def configure_auth(faraday)
89
+ faraday.headers["Authorization"] = "Bearer #{@bot_token}"
90
+ end
91
+
92
+ def extract_success_body(response)
93
+ response.body
94
+ end
95
+
96
+ def extract_retry_after(response)
97
+ response.headers["Retry-After"]&.to_i
106
98
  end
107
99
 
108
- def handle_response(response)
109
- return response.body if response.success?
110
-
111
- if response.status == 429
112
- retry_after = response.headers["Retry-After"]&.to_i
113
- raise ChatSDK::RateLimitedError.new(
114
- "Mattermost API rate limited",
115
- retry_after: retry_after,
116
- status: response.status,
117
- body: response.body,
118
- adapter_name: :mattermost
119
- )
120
- end
121
-
122
- raise ChatSDK::PlatformError.new(
123
- "Mattermost API error: #{response.status}",
124
- status: response.status,
125
- body: response.body,
126
- adapter_name: :mattermost
127
- )
100
+ def extract_error_message(response)
101
+ response.status.to_s
128
102
  end
129
103
  end
130
104
  end
metadata CHANGED
@@ -1,10 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chat_sdk-mattermost
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
- - Rootly
7
+ - Quentin Rousseau
8
8
  bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '2.0'
40
40
  description: Mattermost bot adapter for the ChatSDK framework
41
41
  email:
42
- - eng@rootly.com
42
+ - quentin@rootly.com
43
43
  executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files: []
@@ -49,7 +49,7 @@ files:
49
49
  - lib/chat_sdk/mattermost/api_client.rb
50
50
  - lib/chat_sdk/mattermost/attachment_renderer.rb
51
51
  - lib/chat_sdk/mattermost/event_parser.rb
52
- homepage: https://github.com/rootlyhq/rootly-chat-sdk
52
+ homepage: https://github.com/rootlyhq/chat-sdk
53
53
  licenses:
54
54
  - MIT
55
55
  metadata: