99require 'bigbluebutton_modules'
1010require 'bigbluebutton_config_xml'
1111require 'bigbluebutton_config_layout'
12+ require 'logger'
1213
1314module BigBlueButton
1415
@@ -53,6 +54,9 @@ class BigBlueButtonApi
5354 # Flag to turn on/off debug mode
5455 attr_accessor :debug
5556
57+ # logger to log reponses and infos
58+ attr_accessor :logger
59+
5660 # Maximum wait time for HTTP requests (secs)
5761 attr_accessor :timeout
5862
@@ -75,13 +79,18 @@ def initialize(url, secret, version=nil, debug=false)
7579 @timeout = 10 # default timeout for api requests
7680 @request_headers = { } # http headers sent in all requests
7781
82+ @logger = Logger . new ( STDOUT )
83+ @logger . level = Logger ::DEBUG
84+
7885 version = nil if version && version . strip . empty?
7986 @version = nearest_version ( version || get_api_version )
8087 unless @supported_versions . include? ( @version )
81- puts "BigBlueButtonAPI: detected unsupported version, using the closest one that is supported (#{ @version } )"
88+ @logger . warn ( "BigBlueButtonAPI: detected unsupported version, using the closest one that is supported (#{ @version } )" )
89+ # puts "BigBlueButtonAPI: detected unsupported version, using the closest one that is supported (#{@version})"
8290 end
8391
84- puts "BigBlueButtonAPI: Using version #{ @version } " if @debug
92+ @logger . debug ( "BigBlueButtonAPI: Using version #{ @version } " )
93+ # puts "BigBlueButtonAPI: Using version #{@version}" if @debug
8594 end
8695
8796 # Creates a new meeting. Returns the hash with the response or throws BigBlueButtonException
@@ -743,7 +752,8 @@ def send_api_request(method, params={}, data=nil, raw=false)
743752 # Otherwise uses GET
744753 def send_request ( url , data = nil )
745754 begin
746- puts "BigBlueButtonAPI: URL request = #{ url } " if @debug
755+ @logger . debug ( "BigBlueButtonAPI: URL request = #{ url } " )
756+ # puts "BigBlueButtonAPI: URL request = #{url}" if @debug
747757 url_parsed = URI . parse ( url )
748758 http = Net ::HTTP . new ( url_parsed . host , url_parsed . port )
749759 http . open_timeout = @timeout
@@ -753,11 +763,14 @@ def send_request(url, data=nil)
753763 if data . nil?
754764 response = http . get ( url_parsed . request_uri , @request_headers )
755765 else
756- puts "BigBlueButtonAPI: Sending as a POST request with data.size = #{ data . size } " if @debug
766+ @logger . debug ( "BigBlueButtonAPI: Sending as a POST request with data.size = #{ data . size } " )
767+ # puts "BigBlueButtonAPI: Sending as a POST request with data.size = #{data.size}" if @debug
757768 opts = { 'Content-Type' => 'application/xml' } . merge @request_headers
758769 response = http . post ( url_parsed . request_uri , data , opts )
759770 end
760- puts "BigBlueButtonAPI: URL response = #{ response . body } " if @debug
771+ # @logger.debug("BigBlueButtonAPI: URL response = #{response.body}")
772+ @logger . info ( "BigBlueButtonAPI: request=#{ url } response_status=#{ response . class . name } response_code=#{ response . code } message_key=#{ response . message } " )
773+ # puts "BigBlueButtonAPI: URL response = #{response.body}" if @debug
761774
762775 rescue Timeout ::Error => error
763776 raise BigBlueButtonException . new ( "Timeout error. Your server is probably down: \" #{ @url } \" . Error: #{ error } " )
0 commit comments