| 319 | #endif |
| 320 | |
| 321 | void CSimpleHttpServerInternal::GetBindAddress(TNetAddress& addr, uint16 port) const |
| 322 | { |
| 323 | addr = TNetAddress(SIPv4Addr(0, port)); |
| 324 | #if CRY_PLATFORM_WINDOWS // On windows we should check the sv_bind variable and attempt to play nice and bind to the address requested |
| 325 | TNetAddressVec addrs; |
| 326 | char address[SHTTP_MAX_ADDRESS_SIZE]; |
| 327 | CNetAddressResolver resolver; |
| 328 | |
| 329 | cry_sprintf(address, "0.0.0.0:%d", port); |
| 330 | |
| 331 | ICVar* pCVar = gEnv->pConsole->GetCVar("sv_bind"); |
| 332 | if (pCVar && pCVar->GetString()) |
| 333 | { |
| 334 | if (strlen(pCVar->GetString()) <= SHTTP_MAX_IP_EXPECTED) |
| 335 | { |
| 336 | cry_sprintf(address, "%s:%d", pCVar->GetString(), port); |
| 337 | } |
| 338 | else |
| 339 | { |
| 340 | NetLog("Address to bind '%s' does not appear to be an IP address", pCVar->GetString()); |
| 341 | } |
| 342 | } |
| 343 | |
| 344 | CNameRequestPtr pReq = resolver.RequestNameLookup(address); |
| 345 | pReq->Wait(); |
| 346 | if (pReq->GetResult(addrs) != eNRR_Succeeded) |
| 347 | { |
| 348 | NetLog("Name resolution for '%s' failed - binding to 0.0.0.0", address); |
| 349 | } |
| 350 | else |
| 351 | { |
| 352 | addr = addrs[0]; |
| 353 | } |
| 354 | #endif |
| 355 | } |
| 356 | |
| 357 | void CSimpleHttpServerInternal::Start(uint16 port, string password) |
| 358 | { |
nothing calls this directly
no test coverage detected