From 1ec54ce3262dc692888523914fd294f6c20a96b5 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Thu, 16 Feb 2023 11:20:20 +0100 Subject: [PATCH] - added support for http only --- lib/SLUB/LZA/Rosetta/TA/Command/init.pm | 2 ++ lib/SLUB/LZA/Rosetta/TA/SOAP.pm | 6 +++++- lib/SLUB/LZA/Rosetta/TA/SRU.pm | 6 +++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/SLUB/LZA/Rosetta/TA/Command/init.pm b/lib/SLUB/LZA/Rosetta/TA/Command/init.pm index 3b0f98e..ce1f737 100644 --- a/lib/SLUB/LZA/Rosetta/TA/Command/init.pm +++ b/lib/SLUB/LZA/Rosetta/TA/Command/init.pm @@ -22,6 +22,7 @@ sub opt_spec { ["rosettahost|r=s" => "host adress where Rosetta runs", {required=>1}], ["logdir|l=s" => "logdir where rosetta stores it server log files", {required=>1}], ["authentication|a" => "enable authentification (needed if Rosetta's general parameter 'sru_authentication=true'), password is stored salted only in config file!", {required=>0}] + ["httponly" => "with this flag only HTTP (instead HTTPS) is used", {required=>0}], ); } sub validate_args { @@ -35,6 +36,7 @@ sub execute { my %config; $config{host} = $opt->{rosettahost}; $config{logdir} = $opt->{logdir}; + $config{httponly} = $opt->{httponly}; if (defined $opt->{authentication}) { warn "HINT: The password will stored in config file!"; my $user = prompt('User:' ); diff --git a/lib/SLUB/LZA/Rosetta/TA/SOAP.pm b/lib/SLUB/LZA/Rosetta/TA/SOAP.pm index 6ba01b9..a7035e6 100644 --- a/lib/SLUB/LZA/Rosetta/TA/SOAP.pm +++ b/lib/SLUB/LZA/Rosetta/TA/SOAP.pm @@ -8,9 +8,13 @@ use warnings; sub get_ie_pid_by_sip { my $sip = shift; - my $protocol = "https"; my $host = $SLUB::LZA::Rosetta::TA::config{host}; + my $protocol = "https"; my $port = 8443; + if (defined $SLUB::LZA::Rosetta::TA::Command::config{httponly}) { + $protocol = 'http'; + $port = 1801; + } my $wsdl_url="${protocol}://${host}:${port}/dpsws/repository/SipWebServices?wsdl"; #print "DEBUG: $wsdl_url"; my $soap = SOAP::Lite->new; diff --git a/lib/SLUB/LZA/Rosetta/TA/SRU.pm b/lib/SLUB/LZA/Rosetta/TA/SRU.pm index 93bbe92..d9ecdcf 100644 --- a/lib/SLUB/LZA/Rosetta/TA/SRU.pm +++ b/lib/SLUB/LZA/Rosetta/TA/SRU.pm @@ -36,9 +36,13 @@ sub sru_search { if (!exists $searchpaths{$searchtype}){ croak ("Code error, wrong searchtype ($searchtype) used!"); } - my $protocol = 'https'; my $host = $SLUB::LZA::Rosetta::TA::config{host}; + my $protocol = 'https'; my $port = '8443'; + if (defined $SLUB::LZA::Rosetta::TA::Command::config{httponly}) { + $protocol = 'http'; + $port = '1801'; + } my $searchpath = $searchpaths{$searchtype}; my $srubase="${protocol}://${host}:${port}/search/${searchpath}/sru"; my $sru = "${srubase}?version=1.2&operation=searchRetrieve&startRecord=$startrecord&maximumRecords=$maxrecords&recordSchema=dc&query=${query}"; -- GitLab