internal CallContext(HttpContext httpContext, UserCollection users, HashSet <UserConfigurationSettingName> requestedSettings, ExchangeServerVersion?requestedVersion, UserSettingErrorCollection settingErrors, GetUserSettingsResponse response) { if (httpContext == null) { throw new ArgumentNullException("httpContext"); } if (httpContext.Request == null) { throw new ArgumentException("The specified HTTP context has the Request property null", "httpContext"); } this.Users = users; this.RequestedSettings = requestedSettings; this.RequestedVersion = requestedVersion; this.SettingErrors = settingErrors; this.Response = response; this.UseClientCertificateAuthentication = Common.CheckClientCertificate(httpContext.Request); this.UserAgent = httpContext.Request.UserAgent; this.UserAuthType = httpContext.Request.ServerVariables["AUTH_TYPE"]; this.CallerCapabilities = CallerRequestedCapabilities.GetInstance(httpContext); }