void initializeHttpConnectionListener() { // alias options session::Options& options = session::options(); if (options.programMode() == kSessionProgramModeDesktop) { std::string localPeer = core::system::getenv("RS_LOCAL_PEER"); if (!localPeer.empty()) { FilePath streamPath(localPeer); s_pHttpConnectionListener = new LocalStreamHttpConnectionListener( streamPath, core::system::UserReadWriteMode, options.sharedSecret(), -1); } else { s_pHttpConnectionListener = new TcpIpHttpConnectionListener( options.wwwAddress(), options.wwwPort(), options.sharedSecret()); } } else // mode == "server" { if (session::options().standalone()) { s_pHttpConnectionListener = new TcpIpHttpConnectionListener( options.wwwAddress(), options.wwwPort(), ""); // no shared secret } else { // create listener based on options r_util::SessionContext context = options.sessionContext(); std::string streamFile = r_util::sessionContextFile(context); FilePath localStreamPath = local_streams::streamPath(streamFile); s_pHttpConnectionListener = new LocalStreamHttpConnectionListener( localStreamPath, core::system::EveryoneReadWriteMode, "", // no shared secret options.limitRpcClientUid()); } } }
inline void removeStreams(const std::string& user) { core::Error error = streamPath(user).removeIfExists(); if (error) LOG_ERROR(error); }