nsHttpConnectionInfo* nsHttpConnectionInfo::Clone() const { nsHttpConnectionInfo *clone; if (mRoutedHost.IsEmpty()) { clone = new nsHttpConnectionInfo(mOrigin, mOriginPort, mNPNToken, mUsername, mProxyInfo, mOriginAttributes, mEndToEndSSL); } else { MOZ_ASSERT(mEndToEndSSL); clone = new nsHttpConnectionInfo(mOrigin, mOriginPort, mNPNToken, mUsername, mProxyInfo, mOriginAttributes, mRoutedHost, mRoutedPort); } if (!mNetworkInterfaceId.IsEmpty()) { clone->SetNetworkInterfaceId(mNetworkInterfaceId); } // Make sure the anonymous, insecure-scheme, and private flags are transferred clone->SetAnonymous(GetAnonymous()); clone->SetPrivate(GetPrivate()); clone->SetInsecureScheme(GetInsecureScheme()); clone->SetNoSpdy(GetNoSpdy()); MOZ_ASSERT(clone->Equals(this)); return clone; }
nsHttpConnectionInfo* nsHttpConnectionInfo::Clone() const { nsHttpConnectionInfo* clone = new nsHttpConnectionInfo(mHost, mPort, mProxyInfo, mUsingSSL); // Make sure the anonymous and private flags are transferred! clone->SetAnonymous(GetAnonymous()); clone->SetPrivate(GetPrivate()); return clone; }
nsresult nsHttpConnectionInfo::CreateWildCard(nsHttpConnectionInfo **outParam) { // T???mozilla.org:443 (https:proxy.ducksong.com:3128) [specifc form] // TS??*:0 (https:proxy.ducksong.com:3128) [wildcard form] if (!mUsingHttpsProxy) { MOZ_ASSERT(false); return NS_ERROR_NOT_IMPLEMENTED; } RefPtr<nsHttpConnectionInfo> clone; clone = new nsHttpConnectionInfo(NS_LITERAL_CSTRING("*"), 0, mNPNToken, mUsername, mProxyInfo, true); // Make sure the anonymous and private flags are transferred! clone->SetAnonymous(GetAnonymous()); clone->SetPrivate(GetPrivate()); clone.forget(outParam); return NS_OK; }
void nsHttpConnectionInfo::CloneAsDirectRoute(nsHttpConnectionInfo **outCI) { if (mRoutedHost.IsEmpty()) { *outCI = Clone(); return; } RefPtr<nsHttpConnectionInfo> clone = new nsHttpConnectionInfo(mOrigin, mOriginPort, EmptyCString(), mUsername, mProxyInfo, mEndToEndSSL); // Make sure the anonymous, insecure-scheme, and private flags are transferred clone->SetAnonymous(GetAnonymous()); clone->SetPrivate(GetPrivate()); clone->SetInsecureScheme(GetInsecureScheme()); clone->SetNoSpdy(GetNoSpdy()); if (!mNetworkInterfaceId.IsEmpty()) { clone->SetNetworkInterfaceId(mNetworkInterfaceId); } clone.forget(outCI); }