File Coverage

blib/lib/SOAP/WSDL/Transport/Loopback.pm
Criterion Covered Total %
statement 18 20 90.0
branch n/a
condition n/a
subroutine 6 7 85.7
pod 0 1 0.0
total 24 28 85.7


line stmt bran cond sub pod time code
1             package SOAP::WSDL::Transport::Loopback;
2 1     1   10 use strict;
  1         4  
  1         64  
3 1     1   8 use warnings;
  1         3  
  1         133  
4 1     1   980 use Class::Std::Fast::Storable constructor => 'basic';
  1         23614  
  1         9  
5 1     1   163 use SOAP::WSDL::Factory::Transport;
  1         2  
  1         22  
6              
7 1     1   6 use version; our $VERSION = qv('3.001');
  1         2  
  1         5  
8              
9             # register on loading
10             SOAP::WSDL::Factory::Transport->register( http => __PACKAGE__ );
11             SOAP::WSDL::Factory::Transport->register( https => __PACKAGE__ );
12              
13             my %code_of :ATTR(:name :default<()>);
14             my %status_of :ATTR(:name :default<()>);
15             my %message_of :ATTR(:name :default<()>);
16             my %is_success_of :ATTR(:name :default<()>);
17              
18             # create methods normally inherited from SOAP::Client
19 1         130 SUBFACTORY: {
20 1     1   146 no strict qw(refs);
  1         2  
21             foreach my $method ( qw(code message status is_success) ) {
22             *{ $method } = *{ "get_$method" };
23             }
24             }
25              
26             sub send_receive {
27 0     0 0   my ($self, %parameters) = @_;
28 0           return $parameters{envelope};
29             }
30              
31             Class::Std::initialize();
32              
33              
34             1;
35              
36             =head1 NAME
37              
38             SOAP::WSDL::Transport::Test - Loopback transport class for SOAP::WSDL
39              
40             =head1 SYNOPSIS
41              
42             use SOAP::WSDL::Client;
43             use SOAP::WSDL::Transport::Loopback;
44              
45             my $soap = SOAP::WSDL::Client->new()
46             $soap->get_transport->set_base_dir('.');
47             $soap->call('method', \%body, \%header);
48              
49             =head1 DESCRIPTION
50              
51             SOAP::WSDL::Transport::Loopback is a loopback test transport backend for
52             SOAP::WSDL.
53              
54             When SOAP::WSDL::Transport::Loopback is used as transport backend, the
55             request is returned as response. No data ever goes over the wire.
56             This is particularly useful for testing SOAP::WSDL plugins and applications.
57              
58             =head1 LICENSE AND COPYRIGHT
59              
60             Copyright (c) 2007 Martin Kutter. All rights reserved.
61              
62             This file is part of SOAP-WSDL. You may distribute/modify it under
63             the same terms as perl itself
64              
65             =head1 AUTHOR
66              
67             Martin Kutter Emartin.kutter fen-net.deE
68              
69             =head1 REPOSITORY INFORMATION
70              
71             $Rev: 218 $
72             $LastChangedBy: kutterma $
73             $Id: HTTP.pm 218 2007-09-10 16:19:23Z kutterma $
74             $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Transport/HTTP.pm $
75              
76             =cut