{
    "content": [
        {
            "type": "text",
            "text": "# Frontier::Client (perldoc)\n\n## NAME\n\nFrontier::Client - issue Frontier XML RPC requests to a server\n\n## SYNOPSIS\n\nuse Frontier::Client;\n$server = Frontier::Client->new( I<OPTIONS> );\n$result = $server->call($method, @args);\n$boolean = $server->boolean($value);\n$datetime = $server->datetime($value);\n$base64 = $server->base64($value);\n$value = $boolean->value;\n$value = $datetime->value;\n$value = $base64->value;\n\n## DESCRIPTION\n\n*Frontier::Client* is an XML-RPC client over HTTP. *Frontier::Client* instances are used to make\ncalls to XML-RPC servers and as shortcuts for creating XML-RPC special data types.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **METHODS** (8 subsections)\n- **SEE ALSO** (1 subsections)\n- **AUTHOR**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Frontier::Client",
        "section": "",
        "mode": "perldoc",
        "summary": "Frontier::Client - issue Frontier XML RPC requests to a server",
        "synopsis": "use Frontier::Client;\n$server = Frontier::Client->new( I<OPTIONS> );\n$result = $server->call($method, @args);\n$boolean = $server->boolean($value);\n$datetime = $server->datetime($value);\n$base64 = $server->base64($value);\n$value = $boolean->value;\n$value = $datetime->value;\n$value = $base64->value;",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 14,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "METHODS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "new",
                        "lines": 28
                    },
                    {
                        "name": "call",
                        "lines": 5
                    },
                    {
                        "name": "boolean",
                        "lines": 1
                    },
                    {
                        "name": "date_time",
                        "lines": 1
                    },
                    {
                        "name": "base64",
                        "lines": 18
                    },
                    {
                        "name": "int",
                        "lines": 1
                    },
                    {
                        "name": "float",
                        "lines": 1
                    },
                    {
                        "name": "string",
                        "lines": 11
                    }
                ]
            },
            {
                "name": "SEE ALSO",
                "lines": 1,
                "subsections": [
                    {
                        "name": "perl",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Frontier::Client - issue Frontier XML RPC requests to a server\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use Frontier::Client;\n\n$server = Frontier::Client->new( I<OPTIONS> );\n\n$result = $server->call($method, @args);\n\n$boolean = $server->boolean($value);\n$datetime = $server->datetime($value);\n$base64 = $server->base64($value);\n\n$value = $boolean->value;\n$value = $datetime->value;\n$value = $base64->value;\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "*Frontier::Client* is an XML-RPC client over HTTP. *Frontier::Client* instances are used to make\ncalls to XML-RPC servers and as shortcuts for creating XML-RPC special data types.\n",
                "subsections": []
            },
            "METHODS": {
                "content": "",
                "subsections": [
                    {
                        "name": "new",
                        "content": "Returns a new instance of *Frontier::Client* and associates it with an XML-RPC server at a\nURL. *OPTIONS* may be a list of key, value pairs or a hash containing the following\nparameters:\n\nurl The URL of the server. This parameter is required. For example:\n\n$server = Frontier::Client->new( 'url' => 'http://betty.userland.com/RPC2' );\n\nproxy\nA URL of a proxy to forward XML-RPC calls through.\n\nencoding\nThe XML encoding to be specified in the XML declaration of outgoing RPC requests.\nIncoming results may have a different encoding specified; XML::Parser will convert\nincoming data to UTF-8. The default outgoing encoding is none, which uses XML 1.0's\ndefault of UTF-8. For example:\n\n$server = Frontier::Client->new( 'url' => 'http://betty.userland.com/RPC2',\n'encoding' => 'ISO-8859-1' );\n\nuseobjects\nIf set to a non-zero value will convert incoming <i4>, <float>, and <string> values to\nobjects instead of scalars. See int(), float(), and string() below for more details.\n\ndebug\nIf set to a non-zero value will print the encoded XML request and the XML response\nreceived.\n"
                    },
                    {
                        "name": "call",
                        "content": "Forward a procedure call to the server, either returning the value returned by the procedure\nor failing with exception. `$method' is the name of the server method, and `@args' is a list\nof arguments to pass. Arguments may be Perl hashes, arrays, scalar values, or the XML-RPC\nspecial data types below.\n"
                    },
                    {
                        "name": "boolean",
                        "content": ""
                    },
                    {
                        "name": "date_time",
                        "content": ""
                    },
                    {
                        "name": "base64",
                        "content": "The methods `\"boolean()\"', `\"datetime()\"', and `\"base64()\"' create and return\nXML-RPC-specific datatypes that can be passed to `\"call()\"'. Results from servers may also\ncontain these datatypes. The corresponding package names (for use with `\"ref()\"', for\nexample) are `\"Frontier::RPC2::Boolean\"', `\"Frontier::RPC2::DateTime::ISO8601\"', and\n`\"Frontier::RPC2::Base64\"'.\n\nThe value of boolean, date/time, and base64 data can be set or returned using the\n`\"value()\"' method. For example:\n\n# To set a value:\n$aboolean->value(1);\n\n# To retrieve a value\n$base64 = $base64xmlrpcdata->value();\n\nNote: `\"base64()\"' does *not* encode or decode base64 data for you, you must use\nMIME::Base64 or similar module for that.\n"
                    },
                    {
                        "name": "int",
                        "content": ""
                    },
                    {
                        "name": "float",
                        "content": ""
                    },
                    {
                        "name": "string",
                        "content": "By default, you may pass ordinary Perl values (scalars) to be encoded. RPC2 automatically\nconverts them to XML-RPC types if they look like an integer, float, or as a string. This\nassumption causes problems when you want to pass a string that looks like \"0096\", RPC2 will\nconvert that to an <i4> because it looks like an integer. With these methods, you could now\ncreate a string object like this:\n\n$partnum = $server->string(\"0096\");\n\nand be confident that it will be passed as an XML-RPC string. You can change and retrieve\nvalues from objects using value() as described above.\n"
                    }
                ]
            },
            "SEE ALSO": {
                "content": "",
                "subsections": [
                    {
                        "name": "perl",
                        "content": "<http://www.scripting.com/frontier5/xml/code/rpc.html>\n"
                    }
                ]
            },
            "AUTHOR": {
                "content": "Ken MacLeod <ken@bitsko.slc.ut.us>\n",
                "subsections": []
            }
        }
    }
}