// Token: 0x0600000A RID: 10 RVA: 0x00002278 File Offset: 0x00000478 internal void EmitResponse(HttpContextBase context, AutoDiscoverV2Response response) { context.Response.ContentType = "application/json"; if (response.RedirectUrl != null) { context.Response.Redirect(response.RedirectUrl, false); this.Logger.AppendGenericInfo("EmitResponseRedirect", response.RedirectUrl); return; } if (response.Url != null) { context.Response.StatusCode = 200; JsonSuccessResponse jsonSuccessResponse = new JsonSuccessResponse { Protocol = response.ProtocolName, Url = response.Url }; string text = jsonSuccessResponse.SerializeToJson(jsonSuccessResponse); this.Logger.AppendGenericInfo("EmitResponseJsonString", text); context.Response.Write(text); } }
// Token: 0x06000009 RID: 9 RVA: 0x00002210 File Offset: 0x00000410 internal void ProcessRequest(HttpContextBase context) { try { Common.SendWatsonReportOnUnhandledException(delegate { this.Logger.Set(ActivityStandardMetadata.Action, "AutoDiscoverV2"); FlightSettingRepository flightSettings = new FlightSettingRepository(); try { if (this.Validate(context)) { AutoDiscoverV2 autoDiscoverV = new AutoDiscoverV2(this.Logger, flightSettings, new TenantRepository(this.Logger)); string emailAddressFromUrl = this.GetEmailAddressFromUrl(context); AutoDiscoverV2Request request = autoDiscoverV.CreateRequestFromContext(context, emailAddressFromUrl); AutoDiscoverV2Response autoDiscoverV2Response = autoDiscoverV.ProcessRequest(request, flightSettings); if (autoDiscoverV2Response != null) { this.EmitResponse(context, autoDiscoverV2Response); } else { this.LogAndEmitErrorResponse(context, AutoDiscoverResponseException.NotFound()); } } } catch (AutoDiscoverResponseException exception) { this.LogAndEmitErrorResponse(context, exception); } }); } catch (Exception innerException) { this.EmitErrorResponse(context, AutoDiscoverResponseException.InternalServerError("InternalServerError", innerException)); } }
// Token: 0x0600002A RID: 42 RVA: 0x0000286C File Offset: 0x00000A6C private bool TryGetEmailRedirectResponse(AutoDiscoverV2Request request, ADRecipient recipient, out AutoDiscoverV2Response redirectResponse) { redirectResponse = null; if (recipient == null) { return(false); } this.logger.AppendGenericInfo("ADUserFound", recipient.RecipientType); if (recipient.ExternalEmailAddress != null && recipient.ExternalEmailAddress.AddressString != null && recipient.ExternalEmailAddress.PrefixString == "SMTP") { this.logger.AppendGenericInfo("TryGetEmailRedirectResponse", string.Format("ExternalEmailAddressFound - {0}", recipient.ExternalEmailAddress.AddressString + " " + request.EmailAddress.Address)); redirectResponse = ResourceUrlBuilder.GetRedirectResponse(this.logger, "outlook.office365.com", recipient.ExternalEmailAddress.AddressString, request.Protocol, request.RedirectCount, null); return(true); } return(false); }