CreateRedirectionResponse method

AutodiscoverResponse? CreateRedirectionResponse(
  1. IEwsHttpWebResponse httpWebResponse
)
Create a redirection response. The HTTP web response.

Implementation

/* private */
AutodiscoverResponse? CreateRedirectionResponse(
    IEwsHttpWebResponse httpWebResponse) {
  String? location = httpWebResponse.Headers["Location"];
  if (!StringUtils.IsNullOrEmpty(location)) {
    try {
      Uri redirectionUri = UriHelper.concat(this.Url, location!);
      if ((redirectionUri.scheme == "http") ||
          (redirectionUri.scheme == "https")) {
        AutodiscoverResponse response = this.CreateServiceResponse();
        response.ErrorCode = AutodiscoverErrorCode.RedirectUrl;
        response.RedirectionUrl = redirectionUri;
        return response;
      }

      this.Service.TraceMessage(TraceFlags.AutodiscoverConfiguration,
          "Invalid redirection URL '$redirectionUri' returned by Autodiscover service.");
    } catch (UriFormatException) {
      this.Service.TraceMessage(TraceFlags.AutodiscoverConfiguration,
          "Invalid redirection location '$location' returned by Autodiscover service.");
    }
  } else {
    this.Service.TraceMessage(TraceFlags.AutodiscoverConfiguration,
        "Redirection response returned by Autodiscover service without redirection location.");
  }

  return null;
}