ValidateAndEmitRequest method
Validates request parameters, and emits the request to the server.
The request.
Implementation
Future<IEwsHttpWebResponse> ValidateAndEmitRequest() async {
this.Validate();
// todo("implement validation")
IEwsHttpWebRequest request = await this.BuildEwsHttpWebRequest();
//
// if (this.service.SendClientLatencies)
// {
// String clientStatisticsToAdd = null;
//
// lock (clientStatisticsCache)
// {
// if (clientStatisticsCache.Count > 0)
// {
// clientStatisticsToAdd = clientStatisticsCache[0];
// clientStatisticsCache.RemoveAt(0);
// }
// }
//
// if (!StringUtils.IsNullOrEmpty(clientStatisticsToAdd))
// {
// if (request.Headers[ClientStatisticsRequestHeader] != null)
// {
// request.Headers[ClientStatisticsRequestHeader] =
// request.Headers[ClientStatisticsRequestHeader]
// + clientStatisticsToAdd;
// }
// else
// {
// request.Headers.Add(
// ClientStatisticsRequestHeader,
// clientStatisticsToAdd);
// }
// }
// }
//
// DateTime startTime = DateTime.UtcNow;
IEwsHttpWebResponse? response = null;
//
// try
// {
response = await this.GetEwsHttpWebResponse(request);
// }
// finally
// {
// if (this.service.SendClientLatencies)
// {
// int clientSideLatency = (int)(DateTime.UtcNow - startTime).TotalMilliseconds;
// String requestId = "";
// String soapAction = this.GetType().Name.Replace("Request", "");
//
// if (response != null && response.Headers != null)
// {
// for (String requestIdHeader in ServiceRequestBase.RequestIdResponseHeaders)
// {
// String requestIdValue = response.Headers.Get(requestIdHeader);
// if (!StringUtils.IsNullOrEmpty(requestIdValue))
// {
// requestId = requestIdValue;
// break;
// }
// }
// }
//
// StringBuffer sb = new StringBuffer();
// sb.write("MessageId=");
// sb.write(requestId);
// sb.write(",ResponseTime=");
// sb.write(clientSideLatency);
// sb.write(",SoapAction=");
// sb.write(soapAction);
// sb.write(";");
//
// lock (clientStatisticsCache)
// {
// clientStatisticsCache.Add(sb.toString());
// }
// }
// }
return response;
}