/// <summary> /// Invokes the by transport. /// </summary> /// <param name="request">The request.</param> /// <param name="response">The response.</param> /// <param name="apiTransportAttribute">The API transport attribute.</param> protected virtual void InvokeByTransport(HttpRequest request, HttpResponse response, ApiTransportAttribute apiTransportAttribute) { if (request != null && response != null && apiTransportAttribute != null && !string.IsNullOrWhiteSpace(apiTransportAttribute.DestinationHost)) { if (apiTransportAttribute.ApiTransportAdapter != null) { var httpRequest = request.CopyHttpRequestToHttpWebRequest(apiTransportAttribute.DestinationHost, apiTransportAttribute.ApiTransportAdapter.RewriteHeader); httpRequest.GetResponse().TransportHttpResponse(response); } } }