internal static void AddAuthInfo(this WebRequest client, string userName, string password, AuthenticationInfo authInfo) { if ("basic".Equals(authInfo.method)) { client.AddBasicAuth(userName, password); // FIXME AddBasicAuth ignores the server provided Realm property. Potential Bug. } else if ("digest".Equals(authInfo.method)) { // do digest auth header using auth info // auth info saved in ServiceClientBase for subsequent requests client.AddDigestAuth(userName, password, authInfo); } }