From 4eb177fc7022b9b0198752433c20bb7c7574d0c1 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Thu, 18 Apr 2013 14:42:28 +0200 Subject: [PATCH] Improved error handling. --- lib/import/otrs.rb | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/lib/import/otrs.rb b/lib/import/otrs.rb index dd6b61717..898a89a0d 100644 --- a/lib/import/otrs.rb +++ b/lib/import/otrs.rb @@ -8,16 +8,19 @@ module Import::OTRS uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) - user = Setting.get('import_otrs_user'); - password = Setting.get('import_otrs_password'); - if user && user != '' && password && password != '' - http.basic_auth user, password - end if url =~ /https/i http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE end request = Net::HTTP::Get.new(uri.request_uri) + + # http basic auth (if needed) + user = Setting.get('import_otrs_user'); + password = Setting.get('import_otrs_password'); + if user && user != '' && password && password != '' + request.basic_auth user, password + end + begin response = http.request(request) # puts 'R:' + response.body.to_s @@ -41,12 +44,6 @@ module Import::OTRS uri = URI.parse(url) http = Net::HTTP.new(uri.host, uri.port) - user = Setting.get('import_otrs_user'); - password = Setting.get('import_otrs_password'); - if user && user != '' && password && password != '' - http.basic_auth user, password - end - if url =~ /https/i http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE @@ -55,6 +52,13 @@ module Import::OTRS request.set_form_data(data) response = http.request(request) + # http basic auth (if needed) + user = Setting.get('import_otrs_user'); + password = Setting.get('import_otrs_password'); + if user && user != '' && password && password != '' + response.basic_auth user, password + end + if !response raise "Can't connect to #{url}, got no response!" end @@ -330,6 +334,9 @@ module Import::OTRS end end user = User.where( :email => email ).first + if !user + user = User.where( :login => email ).first + end if !user begin display_name = Mail::Address.new( article_new[:from] ).display_name ||