Class: Ultrasafeai::Realtime::Client
- Inherits:
-
Object
- Object
- Ultrasafeai::Realtime::Client
- Defined in:
- lib/ultrasafeai/realtime/client.rb
Instance Method Summary collapse
- #create_realtime_session(request_options: {}, **params) ⇒ Hash[String, Object]
- #create_transcription_session(request_options: {}, **params) ⇒ Hash[String, Object]
- #initialize(client:, base_url: nil, environment: nil) ⇒ void constructor
Constructor Details
#initialize(client:, base_url: nil, environment: nil) ⇒ void
11 12 13 14 15 |
# File 'lib/ultrasafeai/realtime/client.rb', line 11 def initialize(client:, base_url: nil, environment: nil) @client = client @base_url = base_url @environment = environment end |
Instance Method Details
#create_realtime_session(request_options: {}, **params) ⇒ Hash[String, Object]
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ultrasafeai/realtime/client.rb', line 26 def create_realtime_session(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "realtime/sessions", body: Ultrasafeai::Realtime::Types::CreateRealtimeSessionRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#create_transcription_session(request_options: {}, **params) ⇒ Hash[String, Object]
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/ultrasafeai/realtime/client.rb', line 56 def create_transcription_session(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "realtime/transcription_sessions", body: Ultrasafeai::Realtime::Types::CreateTranscriptionSessionRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |