CreateRedirectionResponse method
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;
}