haxr-3000.10.1.1: XML-RPC client and server library.

Portabilitynon-portable (requires extensions and non-portable libraries)
Stabilityexperimental
Maintainerbjorn@bringert.net
Safe HaskellNone

Network.XmlRpc.Client

Description

This module contains the client functionality of XML-RPC. The XML-RPC specifcation is available at http://www.xmlrpc.com/spec.

A simple client application:

 import Network.XmlRpc.Client

 server = "http://localhost/~bjorn/cgi-bin/simple_server"

 add :: String -> Int -> Int -> IO Int
 add url = remote url "examples.add"

 main = do
        let x = 4
            y = 7
        z <- add server x y
        putStrLn (show x ++ " + " ++ show y ++ " = " ++ show z)

Synopsis

Documentation

remoteSource

Arguments

:: Remote a 
=> String

Server URL. May contain username and password on the format username:password@ before the hostname.

-> String

Remote method name.

-> a

Any function (XmlRpcType t1, ..., XmlRpcType tn, XmlRpcType r) => t1 -> ... -> tn -> IO r

Call a remote method.

remoteWithHeadersSource

Arguments

:: Remote a 
=> String

Server URL. May contain username and password on the format username:password@ before the hostname.

-> String

Remote method name.

-> [Header]

Extra headers to add to HTTP request.

-> a

Any function (XmlRpcType t1, ..., XmlRpcType tn, XmlRpcType r) => t1 -> ... -> tn -> IO r

Call a remote method. Takes a list of extra headers to add to the HTTP request.

callSource

Arguments

:: String

URL for the XML-RPC server.

-> String

Method name.

-> [Value]

The arguments.

-> Err IO Value

The result

Low-level method calling function. Use this function if you need to do custom conversions between XML-RPC types and Haskell types. Throws an exception if the response was a fault.

callWithHeadersSource

Arguments

:: String

URL for the XML-RPC server.

-> String

Method name.

-> [Header]

Extra headers to add to HTTP request.

-> [Value]

The arguments.

-> Err IO Value

The result

Low-level method calling function. Use this function if you need to do custom conversions between XML-RPC types and Haskell types. Takes a list of extra headers to add to the HTTP request. Throws an exception if the response was a fault.

class Remote a Source

Instances

XmlRpcType a => Remote (IO a) 
(XmlRpcType a, Remote b) => Remote (a -> b)