{
    "content": [
        {
            "type": "text",
            "text": "# Net::Server::MultiType (perldoc)\n\n## NAME\n\nNet::Server::MultiType - Net::Server personality\n\n## SYNOPSIS\n\nuse base qw(Net::Server::MultiType);\nsub processrequest {\n#...code...\n}\nmy @types = qw(PreFork Fork Single);\nNet::Server::MultiType->run(servertype => \\@types);\n\n## DESCRIPTION\n\nPlease read the pod on Net::Server first. This module is a personality, or extension, or sub\nclass, of the Net::Server module.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **ARGUMENTS**\n- **CONFIGURATION FILE**\n- **PROCESS FLOW**\n- **HOOKS**\n- **TO DO**\n- **AUTHOR**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Net::Server::MultiType",
        "section": "",
        "mode": "perldoc",
        "summary": "Net::Server::MultiType - Net::Server personality",
        "synopsis": "use base qw(Net::Server::MultiType);\nsub processrequest {\n#...code...\n}\nmy @types = qw(PreFork Fork Single);\nNet::Server::MultiType->run(servertype => \\@types);",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "ARGUMENTS",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "CONFIGURATION FILE",
                "lines": 45,
                "subsections": []
            },
            {
                "name": "PROCESS FLOW",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "HOOKS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "TO DO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Net::Server::MultiType - Net::Server personality\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "use base qw(Net::Server::MultiType);\n\nsub processrequest {\n#...code...\n}\n\nmy @types = qw(PreFork Fork Single);\n\nNet::Server::MultiType->run(servertype => \\@types);\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Please read the pod on Net::Server first. This module is a personality, or extension, or sub\nclass, of the Net::Server module.\n\nThis personality is intended to allow for easy use of multiple Net::Server personalities. Given\na list of server types, Net::Server::MultiType will require one at a time until it finds one\nthat is installed on the system. It then adds that package to its @ISA, thus inheriting the\nmethods of that personality.\n",
                "subsections": []
            },
            "ARGUMENTS": {
                "content": "In addition to the command line arguments of the Net::Server base class, Net::Server::MultiType\ncontains one other configurable parameter.\n\nKey               Value            Default\nservertype       'servertype'    'Single'\n\nservertype\nMay be called many times to build up an array or possible servertypes. At execution,\nNet::Server::MultiType will find the first available one and then inherit the methods of\nthat personality\n",
                "subsections": []
            },
            "CONFIGURATION FILE": {
                "content": "\"Net::Server::MultiType\" allows for the use of a configuration file to read in server\nparameters. The format of this conf file is simple key value pairs. Comments and white space are\nignored.\n\n#-------------- file test.conf --------------\n\n### multi type info\n### try PreFork first, then go to Single\nservertype PreFork\nservertype Single\n\n### server information\nminservers   20\nmaxservers   80\nspareservers 10\n\nmaxrequests  1000\n\n### user and group to become\nuser        somebody\ngroup       everybody\n\n### logging ?\nlogfile    /var/log/server.log\nloglevel   3\npidfile    /tmp/server.pid\n\n### access control\nallow       .+\\.(net|com)\nallow       domain\\.com\ndeny        a.+\n\n### background the process?\nbackground  1\n\n### ports to bind\nhost        127.0.0.1\nport        localhost:20204\nport        20205\n\n### reverse lookups ?\n# reverselookups on\n\n#-------------- file test.conf --------------\n",
                "subsections": []
            },
            "PROCESS FLOW": {
                "content": "See Net::Server\n",
                "subsections": []
            },
            "HOOKS": {
                "content": "There are no additional hooks in Net::Server::MultiType.\n",
                "subsections": []
            },
            "TO DO": {
                "content": "See Net::Server\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Paul T. Seamons paul@seamons.com\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "Please see also Net::Server::Fork, Net::Server::INET, Net::Server::PreFork,\nNet::Server::MultiType, Net::Server::Single\n",
                "subsections": []
            }
        }
    }
}