/* * Create a new server. There is typically only one server with one or more (virtual) hosts. */ MaServer *maCreateServer(MaHttp *http, cchar *name, cchar *root, cchar *ipAddr, int port) { MaServer *server; MaHostAddress *hostAddress; MaListen *listen; static int staticModulesLoaded = 0; mprAssert(http); mprAssert(name && *name); server = mprAllocObjZeroed(http, MaServer); if (server == 0) { return 0; } server->hosts = mprCreateList(server); server->listens = mprCreateList(server); server->hostAddresses = mprCreateList(server); server->name = mprStrdup(server, name); server->http = http; maAddServer(http, server); maSetServerRoot(server, root); if (ipAddr && port > 0) { listen = maCreateListen(server, ipAddr, port, 0); maAddListen(server, listen); hostAddress = maCreateHostAddress(server, ipAddr, port); mprAddItem(server->hostAddresses, hostAddress); } maSetDefaultServer(http, server); if (!staticModulesLoaded) { staticModulesLoaded = 1; maLoadStaticModules(http); } return server; }
/* Create a new server. A server may manage may multiple servers and virtual hosts. If ip/port endpoint is supplied, this call will create a Server on that endpoint. Otherwise, maConfigureServer should be called later. A default route is created with the document root set to "." */ MaServer *maCreateServer(MaAppweb *appweb, cchar *name) { MaServer *server; mprAssert(appweb); if ((server = mprAllocObj(MaServer, manageServer)) == NULL) { return 0; } if (name == 0 || *name == '\0') { name = "default"; } server->name = sclone(name); server->endpoints = mprCreateList(-1, 0); server->limits = httpCreateLimits(1); server->appweb = appweb; server->http = appweb->http; maAddServer(appweb, server); if (appweb->defaultServer == 0) { maSetDefaultServer(appweb, server); } return server; }
/* Create a new server. A server may manage may multiple servers and virtual hosts. If ip/port endpoint is supplied, this call will create a Server on that endpoint. Otherwise, maConfigureServer should be called later. A default route is created with the document root set to "." */ PUBLIC MaServer *maCreateServer(MaAppweb *appweb, cchar *name) { MaServer *server; HttpHost *host; HttpRoute *route; assert(appweb); if ((server = mprAllocObj(MaServer, manageServer)) == NULL) { return 0; } if (name == 0 || *name == '\0') { name = "default"; } server->name = sclone(name); server->endpoints = mprCreateList(-1, 0); server->limits = httpCreateLimits(1); server->appweb = appweb; server->http = appweb->http; server->defaultHost = host = httpCreateHost(NULL); if (!httpGetDefaultHost()) { httpSetDefaultHost(host); } route = httpCreateRoute(host); httpSetRouteName(route, "default"); //UNUSED httpSetRoutePrefix(route, ""); httpSetHostDefaultRoute(host, route); route->limits = server->limits; maAddServer(appweb, server); if (appweb->defaultServer == 0) { maSetDefaultServer(appweb, server); } return server; }