/usr/share/doc/libxmlrpc-light-ocaml-dev/html/api/XmlRpc.html is in libxmlrpc-light-ocaml-dev 0.6.1-3+b7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="next" href="XmlRpcBase64.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="XmlRpc" rel="Chapter" href="XmlRpc.html">
<link title="XmlRpcBase64" rel="Chapter" href="XmlRpcBase64.html">
<link title="XmlRpcDateTime" rel="Chapter" href="XmlRpcDateTime.html">
<link title="XmlRpcServer" rel="Chapter" href="XmlRpcServer.html"><link title="High-level interface" rel="Section" href="#2_Highlevelinterface">
<link title="Utility functions" rel="Section" href="#2_Utilityfunctions">
<link title="Low-level interface" rel="Section" href="#2_Lowlevelinterface">
<link title="Server tools" rel="Section" href="#2_Servertools">
<title>XmlRpc</title>
</head>
<body>
<div class="navbar"> <a class="up" href="index.html" title="Index">Up</a>
<a class="post" href="XmlRpcBase64.html" title="XmlRpcBase64">Next</a>
</div>
<h1>Module <a href="type_XmlRpc.html">XmlRpc</a></h1>
<pre><span class="keyword">module</span> XmlRpc: <code class="code">sig</code> <a href="XmlRpc.html">..</a> <code class="code">end</code></pre><div class="info module top">
XmlRpc Light.
<p>
XmlRpc Light is a minimal XmlRpc library based on Xml Light and Ocamlnet.
<p>
It provides a type for values, a client class with a simple calling
interface, and low-level tools that can be used to implement a server.
<p>
<i>(c) 2007-2009 Dave Benjamin</i><br>
</div>
<hr width="100%">
<pre><span id="VALversion"><span class="keyword">val</span> version</span> : <code class="type">string</code></pre><div class="info ">
Version of XmlRpc-Light as a string.<br>
</div>
<br>
<h2 id="2_Highlevelinterface">High-level interface</h2><br>
<br>
Example: <pre class="codepre"><code class="code"> let rpc = new XmlRpc.client "http://localhost:8000" in
let result = rpc#call "echo" [`String "hello!"] in
print_endline (XmlRpc.dump result) </code></pre><br>
<pre><span id="EXCEPTIONError"><span class="keyword">exception</span> Error</span> <span class="keyword">of</span> <code class="type">(int * string)</code></pre>
<div class="info ">
Raised for all errors including XmlRpc faults (code, string).<br>
</div>
<pre><span id="TYPEvalue"><span class="keyword">type</span> <code class="type"></code>value</span> = <code class="type">[ `Array of <a href="XmlRpc.html#TYPEvalue">value</a> list<br> | `Binary of string<br> | `Boolean of bool<br> | `DateTime of <a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a><br> | `Double of float<br> | `Int of int<br> | `Int32 of int32<br> | `Nil<br> | `String of string<br> | `Struct of (string * <a href="XmlRpc.html#TYPEvalue">value</a>) list ]</code> </pre>
<div class="info ">
Polymorphic variant type for XmlRpc values:<ul>
<li><code class="code">`Array</code>: An ordered list of values</li>
<li><code class="code">`Binary</code>: A string containing binary data</li>
<li><code class="code">`Boolean</code>: A boolean</li>
<li><code class="code">`DateTime</code>: A date/time value</li>
<li><code class="code">`Double</code>: A floating-point value</li>
<li><code class="code">`Int</code>: An integer</li>
<li><code class="code">`Int32</code>: A 32-bit integer</li>
<li><code class="code">`Nil</code>: A null value</li>
<li><code class="code">`String</code>: A string</li>
<li><code class="code">`Struct</code>: An association list of (name, value) pairs</li>
</ul>
Note that base64-encoding of <code class="code">`Binary</code> values is done automatically.
You do not need to do the encoding yourself.<br>
</div>
<pre><span name="TYPEclient"><span class="keyword">class</span> <a href="XmlRpc.client-c.html">client</a></span> : <code class="type">?debug:bool -> ?headers:(string * string) list -> ?insecure_ssl:bool -> ?timeout:float -> ?useragent:string -> string -> </code><code class="code">object</code> <a href="XmlRpc.client-c.html">..</a> <code class="code">end</code></pre><div class="info">
Class for XmlRpc clients.
</div>
<pre><span name="TYPEmulticall"><span class="keyword">class</span> <a href="XmlRpc.multicall-c.html">multicall</a></span> : <code class="type"><a href="XmlRpc.client-c.html">client</a> -> </code><code class="code">object</code> <a href="XmlRpc.multicall-c.html">..</a> <code class="code">end</code></pre><div class="info">
Convenience class for <code class="code">system.multicall</code> calls.
</div>
<br>
<h2 id="2_Utilityfunctions">Utility functions</h2><br>
<pre><span id="VALdump"><span class="keyword">val</span> dump</span> : <code class="type"><a href="XmlRpc.html#TYPEvalue">value</a> -> string</code></pre><div class="info ">
Converts an XmlRpc value to a human-readable string.<br>
</div>
<br>
<h2 id="2_Lowlevelinterface">Low-level interface</h2><br>
<pre><code><span id="TYPEmessage"><span class="keyword">type</span> <code class="type"></code>message</span> = </code></pre><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmessage.MethodCall"><span class="constructor">MethodCall</span></span> <span class="keyword">of</span> <code class="type">(string * <a href="XmlRpc.html#TYPEvalue">value</a> list)</code></code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmessage.MethodResponse"><span class="constructor">MethodResponse</span></span> <span class="keyword">of</span> <code class="type"><a href="XmlRpc.html#TYPEvalue">value</a></code></code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmessage.Fault"><span class="constructor">Fault</span></span> <span class="keyword">of</span> <code class="type">(int * string)</code></code></td>
</tr></table>
<div class="info ">
Type for XmlRpc messages.<br>
</div>
<pre><span id="VALmessage_of_xml_element"><span class="keyword">val</span> message_of_xml_element</span> : <code class="type">?base64_decoder:(string -> string) -><br> ?datetime_decoder:(string -> <a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a>) -> Xml.xml -> <a href="XmlRpc.html#TYPEmessage">message</a></code></pre><div class="info ">
Converts an Xml Light element to an XmlRpc message.<br>
</div>
<pre><span id="VALxml_element_of_message"><span class="keyword">val</span> xml_element_of_message</span> : <code class="type">?base64_encoder:(string -> string) -><br> ?datetime_encoder:(<a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a> -> string) -> <a href="XmlRpc.html#TYPEmessage">message</a> -> Xml.xml</code></pre><div class="info ">
Converts an XmlRpc message to an Xml Light element.<br>
</div>
<pre><span id="VALvalue_of_xml_element"><span class="keyword">val</span> value_of_xml_element</span> : <code class="type">?base64_decoder:(string -> string) -><br> ?datetime_decoder:(string -> <a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a>) -> Xml.xml -> <a href="XmlRpc.html#TYPEvalue">value</a></code></pre><div class="info ">
Converts an Xml Light element to an XmlRpc value.<br>
</div>
<pre><span id="VALxml_element_of_value"><span class="keyword">val</span> xml_element_of_value</span> : <code class="type">?base64_encoder:(string -> string) -><br> ?datetime_encoder:(<a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a> -> string) -> <a href="XmlRpc.html#TYPEvalue">value</a> -> Xml.xml</code></pre><div class="info ">
Converts an XmlRpc value to an Xml Light element.<br>
</div>
<br>
<h2 id="2_Servertools">Server tools</h2><br>
<pre><span id="VALserve"><span class="keyword">val</span> serve</span> : <code class="type">?base64_encoder:(string -> string) -><br> ?base64_decoder:(string -> string) -><br> ?datetime_encoder:(<a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a> -> string) -><br> ?datetime_decoder:(string -> <a href="XmlRpcDateTime.html#TYPEt">XmlRpcDateTime.t</a>) -><br> ?error_handler:(exn -> <a href="XmlRpc.html#TYPEmessage">message</a>) -><br> (string -> <a href="XmlRpc.html#TYPEvalue">value</a> list -> <a href="XmlRpc.html#TYPEvalue">value</a>) -> string -> string</code></pre><div class="info ">
Creates a function from string (Xml representing a <code class="code">MethodCall</code>) to
string (Xml representing a <code class="code">MethodResult</code> or <code class="code">Fault</code>) given a function
of the form: (<code class="code">name</code> -> <code class="code">params</code> -> <code class="code">result</code>), where <code class="code">name</code> is the
name of the method, <code class="code">params</code> is a list of parameter values, and
<code class="code">result</code> is the result value.
<p>
This function can be used to build many different kinds of XmlRpc
servers since it makes no assumptions about the network library
or other communications method used.
<p>
If an exception other than <a href="XmlRpc.html#EXCEPTIONError"><code class="code">XmlRpc.Error</code></a> occurs, the exception is
passed to <code class="code">error_handler</code>. If <code class="code">error_handler</code> returns a message,
the message will be used as the result. If an <a href="XmlRpc.html#EXCEPTIONError"><code class="code">XmlRpc.Error</code></a> is
raised by either the main function or <code class="code">error_handler</code>, it will be
converted to an XmlRpc <code class="code">Fault</code>. Any other exception raised by
<code class="code">error_handler</code> is allowed to escape.
<p>
For a full-featured, easy-to-use, network-capable server implementation,
see the <a href="XmlRpcServer.html"><code class="code">XmlRpcServer</code></a> module.<br>
</div>
<pre><span id="VALserve_message"><span class="keyword">val</span> serve_message</span> : <code class="type">?error_handler:(exn -> <a href="XmlRpc.html#TYPEmessage">message</a>) -><br> (string -> <a href="XmlRpc.html#TYPEvalue">value</a> list -> <a href="XmlRpc.html#TYPEvalue">value</a>) -><br> <a href="XmlRpc.html#TYPEmessage">message</a> -> <a href="XmlRpc.html#TYPEmessage">message</a></code></pre><div class="info ">
Performs the same function as <code class="code">serve</code>, but operates on typed messages
instead of strings.<br>
</div>
<pre><span id="VALdefault_error_handler"><span class="keyword">val</span> default_error_handler</span> : <code class="type">exn -> <a href="XmlRpc.html#TYPEmessage">message</a></code></pre><div class="info ">
The default error handler for <code class="code">serve</code>.
<p>
This error handler catches all exceptions and converts them into
faults by wrapping them in <code class="code">XmlRpc.Error</code>.<br>
</div>
<pre><span id="VALquiet_error_handler"><span class="keyword">val</span> quiet_error_handler</span> : <code class="type">exn -> <a href="XmlRpc.html#TYPEmessage">message</a></code></pre><div class="info ">
A "quiet" error handler for <code class="code">serve</code>.
<p>
This error handler simply re-raises the exception. Use this if you
want exceptions to remain unhandled so that they will escape to the
error log. The client will receive a generic "transport error",
which is more secure since it does not reveal any information about
the specific exception that occurred.<br>
</div>
</body></html>
|