Пример #1
0
 // 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);
     }
 }
Пример #2
0
 // 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);
 }