protected ServerScalarConfig QueryScalarConfig(ITracer tracer, ScalarEnlistment enlistment, RetryConfig retryConfig) { ServerScalarConfig serverScalarConfig = null; string errorMessage = null; if (!this.ShowStatusWhileRunning( () => { using (ConfigHttpRequestor configRequestor = new ConfigHttpRequestor(tracer, enlistment, retryConfig)) { const bool LogErrors = true; return(configRequestor.TryQueryScalarConfig(LogErrors, out serverScalarConfig, out _, out errorMessage)); } }, "Querying remote for config")) { tracer.RelatedWarning("Unable to query /gvfs/config" + Environment.NewLine + errorMessage); } return(serverScalarConfig); }
private bool TryAnonymousQuery(ITracer tracer, Enlistment enlistment, out bool isAnonymous) { bool querySucceeded; using (ITracer anonymousTracer = tracer.StartActivity("AttemptAnonymousAuth", EventLevel.Informational)) { HttpStatusCode?httpStatus; using (ConfigHttpRequestor configRequestor = new ConfigHttpRequestor(anonymousTracer, enlistment, new RetryConfig())) { ServerScalarConfig scalarConfig; const bool LogErrors = false; if (configRequestor.TryQueryScalarConfig(LogErrors, out scalarConfig, out httpStatus, out _)) { querySucceeded = true; isAnonymous = true; } else if (httpStatus == HttpStatusCode.Unauthorized) { querySucceeded = true; isAnonymous = false; } else { querySucceeded = false; isAnonymous = false; } } anonymousTracer.Stop(new EventMetadata { { "HttpStatus", httpStatus.HasValue ? ((int)httpStatus).ToString() : "None" }, { "QuerySucceeded", querySucceeded }, { "IsAnonymous", isAnonymous }, }); } return(querySucceeded); }