Class: Apologist::Shares::Client
- Inherits:
-
Object
- Object
- Apologist::Shares::Client
- Defined in:
- lib/Apologist/shares/client.rb
Instance Method Summary collapse
-
#get_shared_messages(request_options: {}, **params) ⇒ Apologist::Shares::Types::GetSharedMessagesResponse
Public, unauthenticated read of the messages behind a share token.
- #initialize(client:) ⇒ void constructor
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/Apologist/shares/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#get_shared_messages(request_options: {}, **params) ⇒ Apologist::Shares::Types::GetSharedMessagesResponse
Public, unauthenticated read of the messages behind a share token. The token is the bearer capability and enforces tenant isolation against the host agent. An empty or invalid token yields an empty messages array.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/Apologist/shares/client.rb', line 29 def (request_options: {}, **params) params = Apologist::Internal::Types::Utils.normalize_keys(params) request = Apologist::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "shares/#{URI.encode_uri_component(params[:token].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Apologist::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Apologist::Shares::Types::GetSharedMessagesResponse.load(response.body) else error_class = Apologist::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |