From c07e22cd5309cb87206b588a69f2bc3f8e02efb8 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Thu, 24 Jan 2013 00:53:39 +0100 Subject: [PATCH] Added auth support against OTRS. --- lib/import/otrs.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/import/otrs.rb b/lib/import/otrs.rb index 3d0f55aa7..1f3470f68 100644 --- a/lib/import/otrs.rb +++ b/lib/import/otrs.rb @@ -14,12 +14,35 @@ module Import::OTRS # puts 'R:' + response.body.to_s return response end + def self.post(base, data) + url = Setting.get('import_otrs_endpoint') + '/' + base + data['Key'] = Setting.get('import_otrs_endpoint_key') + puts 'POST:' + url + uri = URI.parse(url) + http = Net::HTTP.new(uri.host, uri.port) + if url =~ /https/i + http.use_ssl = true + http.verify_mode = OpenSSL::SSL::VERIFY_NONE + end + request = Net::HTTP::Post.new(uri.request_uri) + request.set_form_data(data) + response = http.request(request) + return response + end def self.json(response) data = Encode.conv( 'utf8', response.body.to_s ) JSON.parse( data ) end + def self.auth(username, password) + response = post( "public.pl", { :Action => 'Export', :Type => 'Auth', :User => username, :Pw => password } ) + return if response.code.to_s != '200' + + result = json(response) + return result + end + def self.start puts 'Start import...'