NAME

XML::Compile::SOAP::Daemon::LWPutil - LWP helper routines

INHERITANCE

XML::Compile::SOAP::Daemon::LWPutil
  is an Exporter

SYNOPSIS

# used by ::Daemon::NetServer
#     and ::Daemon::AnyDaemon

DESCRIPTION

FUNCTIONS

lwp_action_from_header($request)

Collect the soap action URI from the request, with undef on failure. Officially, the "SOAPAction" has no other purpose than the ability to route messages over HTTP: it should not be linked to the portname of the message (although it often can).

lwp_add_header($field, $content, ...)
lwp_handle_connection($connection, %options)
lwp_http11_connection($daemon, $socket)

Initialize a HTTP/1.1 connect on the client $socket.

lwp_make_response( $request, $rc, $msg, $body, [$postproc] )
lwp_run_request( $request, $handler, [$connection, $postproc] )

Handle one $request (HTTP::Request object), which was received from the CLIENT (string). When the request has been received, the $handler is called. Returns the status, the status as text message, and the output as XML::LibXML::Document.

lwp_socket_init($socket)

Initialize LWP usage based on a created $socket.

lwp_wsdl_response( [$wsdlfile|$response] )

Set the result of WSDL query responses, either to a response which is created internally containing $wsdlfile, or to an already complete $response object (HTTP::Response). The response object is returned.

DETAILS

Postprocessing responses

The LWP based daemons provide a postprocess option to their run() methods. The parameter is a CODE reference.

When defined, the CODE is called when the response message is ready to be returned to the client:

$code->($request, $response, $status, \$body)

The source $requests is passed as first parameter. The $response is an HTTP::Response object, with all headers but without the body. The $status is the result code of the handler. A value of 200 (HTTP_OK from HTTP::Status) indicates successful processing of the request. When the status is not HTTP_OK you may skip the postprocessing.

The $body are the bytes which will be added as body to the response after this postprocessing has been done. You may change the body. Be warned that the body is not a (latin1 or utf-8) string but already encoded into a byte string.

SEE ALSO

This module is part of XML-Compile-SOAP-Daemon distribution version 3.15, built on December 23, 2022. Website: http://perl.overmeer.net/CPAN/

LICENSE

Copyrights 2007-2022 by [Mark Overmeer <markov@cpan.org>]. For other contributors see ChangeLog.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/