static void
createServer(xmlrpc_env *                      const envP,
             const xmlrpc_server_abyss_parms * const parmsP,
             unsigned int                      const parmSize,
             TServer *                         const abyssServerP,
             TChanSwitch **                    const chanSwitchPP) {

    createServerBare(envP, parmsP, parmSize, abyssServerP, chanSwitchPP);

    if (!envP->fault_occurred) {
        const char * error;

        setAdditionalServerParms(parmsP, parmSize, abyssServerP);
        
        setHandlersRegistry(abyssServerP, uriPathParm(parmsP, parmSize),
                            parmsP->registryP,
                            chunkResponseParm(parmsP, parmSize),
                            allowOriginParm(parmsP, parmSize),
                            expiresParm(parmsP, parmSize),
                            maxAgeParm(parmsP, parmSize));
        
        ServerInit2(abyssServerP, &error);

        if (error) {
            xmlrpc_faultf(envP, error);
            xmlrpc_strfree(error);
        }
    }
}
Exemple #2
0
void
AbyssServer::init() {

    const char * error;

    ServerInit2(&this->cServer, &error);

    if (error)
        throw runtime_error(error);
}
Exemple #3
0
void
ServerInit(TServer * const serverP) {

    const char * error;

    ServerInit2(serverP, &error);

    if (error) {
        TraceExit("ServerInit() failed.  %s", error);
        xmlrpc_strfree(error);
    }
}