21e0bfc
From aa8833ac7d92fa9d9903a849420dcffc33a00974 Mon Sep 17 00:00:00 2001
21e0bfc
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
21e0bfc
Date: Mon, 7 Apr 2014 13:42:03 +0200
21e0bfc
Subject: [PATCH] Add Frontier::Client::raw_call subroutine
21e0bfc
MIME-Version: 1.0
21e0bfc
Content-Type: text/plain; charset=UTF-8
21e0bfc
Content-Transfer-Encoding: 8bit
21e0bfc
21e0bfc
Signed-off-by: Petr Písař <ppisar@redhat.com>
21e0bfc
---
21e0bfc
 lib/Frontier/Client.pm | 34 +++++++++++++++++++++-------------
21e0bfc
 1 file changed, 21 insertions(+), 13 deletions(-)
21e0bfc
21e0bfc
diff --git a/lib/Frontier/Client.pm b/lib/Frontier/Client.pm
21e0bfc
index 800acab..6ea7b60 100644
21e0bfc
--- a/lib/Frontier/Client.pm
21e0bfc
+++ b/lib/Frontier/Client.pm
21e0bfc
@@ -55,6 +55,26 @@ sub new {
cvsdist c905a76
 sub call {
cvsdist c905a76
     my $self = shift;
cvsdist c905a76
 
cvsdist c905a76
+    my $content = $self->raw_call(@_);
cvsdist c905a76
+
cvsdist c905a76
+    if ($self->{'debug'}) {
cvsdist c905a76
+	print "---- response ----\n";
cvsdist c905a76
+	print $content;
cvsdist c905a76
+    }
cvsdist c905a76
+
cvsdist c905a76
+    my $result = $self->{'enc'}->decode($content);
cvsdist c905a76
+
cvsdist c905a76
+    if ($result->{'type'} eq 'fault') {
cvsdist c905a76
+	die "Fault returned from XML RPC Server, fault code " . $result->{'value'}[0]{'faultCode'} . ": "
cvsdist c905a76
+	    . $result->{'value'}[0]{'faultString'} . "\n";
cvsdist c905a76
+    }
cvsdist c905a76
+
cvsdist c905a76
+    return $result->{'value'}[0];
cvsdist c905a76
+}
cvsdist c905a76
+
cvsdist c905a76
+sub raw_call {
cvsdist c905a76
+    my $self = shift;
cvsdist c905a76
+
cvsdist c905a76
     my $text = $self->{'enc'}->encode_call(@_);
cvsdist c905a76
 
cvsdist c905a76
     if ($self->{'debug'}) {
21e0bfc
@@ -72,19 +92,7 @@ sub call {
cvsdist c905a76
 
cvsdist c905a76
     my $content = $response->content;
cvsdist c905a76
 
cvsdist c905a76
-    if ($self->{'debug'}) {
cvsdist c905a76
-	print "---- response ----\n";
cvsdist c905a76
-	print $content;
cvsdist c905a76
-    }
cvsdist c905a76
-
cvsdist c905a76
-    my $result = $self->{'enc'}->decode($content);
cvsdist c905a76
-
cvsdist c905a76
-    if ($result->{'type'} eq 'fault') {
cvsdist c905a76
-	die "Fault returned from XML RPC Server, fault code " . $result->{'value'}[0]{'faultCode'} . ": "
cvsdist c905a76
-	    . $result->{'value'}[0]{'faultString'} . "\n";
cvsdist c905a76
-    }
cvsdist c905a76
-
cvsdist c905a76
-    return $result->{'value'}[0];
cvsdist c905a76
+    return $content;
cvsdist c905a76
 }
cvsdist c905a76
 
cvsdist c905a76
 # shortcuts
21e0bfc
-- 
21e0bfc
1.9.0
21e0bfc