Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.1
perl-SOAP-Lite
SOAP-Lite-0.712-HTTPS_DAEMON.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File SOAP-Lite-0.712-HTTPS_DAEMON.patch of Package perl-SOAP-Lite
diff -ruN SOAP-Lite-0.712-orig/lib/SOAP/Transport/HTTP.pm SOAP-Lite-0.712/lib/SOAP/Transport/HTTP.pm --- SOAP-Lite-0.712-orig/lib/SOAP/Transport/HTTP.pm 2010-06-03 17:33:26.000000000 +0200 +++ SOAP-Lite-0.712/lib/SOAP/Transport/HTTP.pm 2010-08-16 10:55:06.000000000 +0200 @@ -698,6 +698,60 @@ # ====================================================================== +package SOAP::Transport::HTTPS::Daemon; + +use Carp (); +use vars qw($AUTOLOAD @ISA); +@ISA = qw(SOAP::Transport::HTTP::Server); + +sub DESTROY { SOAP::Trace::objects('()') } + +sub new { require HTTP::Daemon::SSL; + my $self = shift; + + unless (ref $self) { + my $class = ref($self) || $self; + + my(@params, @methods); + while (@_) { $class->can($_[0]) ? push(@methods, shift() => shift) : push(@params, shift) } + $self = $class->SUPER::new; + $self->{_daemon} = HTTP::Daemon::SSL->new(@params) or Carp::croak "Can't create daemon: $!"; + $self->myuri(URI->new($self->url)->canonical->as_string); + while (@methods) { my($method, $params) = splice(@methods,0,2); + $self->$method(ref $params eq 'ARRAY' ? @$params : $params) + } + SOAP::Trace::objects('()'); + } + return $self; +} + +sub AUTOLOAD { + my $method = substr($AUTOLOAD, rindex($AUTOLOAD, '::') + 2); + return if $method eq 'DESTROY'; + + no strict 'refs'; + *$AUTOLOAD = sub { shift->{_daemon}->$method(@_) }; + goto &$AUTOLOAD; +} + +sub handle { + my $self = shift->new; + while (my $c = $self->accept) { + while (my $r = $c->get_request) { + $self->request($r); + $self->SUPER::handle; + $c->send_response($self->response) + } + # replaced ->close, thanks to Sean Meisner <Sean.Meisner@VerizonWireless.com> + # shutdown() doesn't work on AIX. close() is used in this case. Thanks to Jos Clijmans <jos.clijmans@recyfin.be> + UNIVERSAL::isa($c, 'shutdown') ? $c->shutdown(2) : $c->close(); + undef $c; + } +} + +# ====================================================================== + + package SOAP::Transport::HTTP::Apache; use vars qw(@ISA);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor