|
|
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 |
|