int IOleCommandTarget.Exec(ref Guid pguidCmdGroup, uint nCmdId, uint nCmdexecopt, IntPtr pvaIn, IntPtr pvaOut) { if (pguidCmdGroup != GuidList.guidTfsAccSwitchVS12CmdSet) { return(UnknownGroup); } var uri = new Uri(TeamExplorer.CurrentContext.DomainUri()); var teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri); var displayName = teamProjectCollection.AuthorizedIdentity.DisplayName; switch (nCmdId) { case PkgCmdIDList.cmdidChangeAccount: { if (CredentialWrapper.AskForCredentials(displayName, uri)) { ((IVsShell4)GetService(typeof(SVsShell))).Restart(0); } break; } default: return(UnknownGroup); } return(0); }
/// <summary> /// Initializes a new <c>VssHttpMessageHandler</c> instance with the specified credentials and request /// settings. /// </summary> /// <param name="credentials">The credentials which should be used</param> /// <param name="settings">The request settings which should be used</param> /// <param name="innerHandler"></param> public VssHttpMessageHandler( VssCredentials credentials, VssHttpRequestSettings settings, HttpMessageHandler innerHandler) { this.Credentials = credentials; this.Settings = settings; this.ExpectContinue = settings.ExpectContinue; m_credentialWrapper = new CredentialWrapper(); m_messageInvoker = new HttpMessageInvoker(innerHandler); // If we were given a pipeline make sure we find the inner-most handler to apply our settings as this // will be the actual outgoing transport. { HttpMessageHandler transportHandler = innerHandler; DelegatingHandler delegatingHandler = transportHandler as DelegatingHandler; while (delegatingHandler != null) { transportHandler = delegatingHandler.InnerHandler; delegatingHandler = transportHandler as DelegatingHandler; } m_transportHandler = transportHandler; } ApplySettings(m_transportHandler, m_credentialWrapper, this.Settings); }
public async Task Proxy_UseAuthenticatedProxyWithWrappedDefaultCredentials_OK() { ICredentials wrappedCreds = new CredentialWrapper { InnerCredentials = CredentialCache.DefaultCredentials }; HttpClientHandler handler = CreateHttpClientHandler(); handler.Proxy = new AuthenticatedProxy(wrappedCreds); using (var client = new HttpClient(handler)) using (HttpResponseMessage response = await client.GetAsync(Configuration.Http.RemoteEchoServer)) { Assert.Equal(HttpStatusCode.OK, response.StatusCode); } }
public async Task Proxy_UseAuthenticatedProxyWithWrappedDefaultCredentials_OK() { ICredentials wrappedCreds = new CredentialWrapper { InnerCredentials = CredentialCache.DefaultCredentials }; var handler = new HttpClientHandler(); handler.Proxy = new AuthenticatedProxy(wrappedCreds); using (var client = new HttpClient(handler)) using (HttpResponseMessage response = await client.GetAsync(Configuration.Http.RemoteEchoServer)) { Assert.Equal(HttpStatusCode.OK, response.StatusCode); } }