protected virtual async Task <XmlDocument> Send(string method, string etag, HttpAsyncRequestFilter filter, string contentType, XmlDocument doc, string encoding, string filename, bool ignoreResponse, XmlRequestResult result) { if (!String.IsNullOrEmpty(filename)) { return(MultipartSend(method, etag, filter, contentType, doc, encoding, filename, ignoreResponse, result)); } string absUri = UrlHelper.SafeToAbsoluteUri(result.uri); Debug.WriteLine("XML Request to " + absUri + ":\r\n" + doc.GetXml()); SendFactory sf = new SendFactory(etag, method, filter, contentType, doc, encoding); var response = await RedirectHelper.GetResponse(absUri, new RedirectHelper.RequestFactory(sf.Create)); try { result.responseHeaders = response.Headers; result.uri = response.RequestMessage.RequestUri; if (ignoreResponse || response.StatusCode == Windows.Web.Http.HttpStatusCode.NoContent) { return(null); } else { XmlDocument xmlDocResponse = await ParseXmlResponse(response); return(xmlDocResponse); } } finally { if (response != null) { response.Dispose(); } } }
protected virtual XmlDocument Send(string method, ref Uri uri, string etag, HttpRequestFilter filter, string contentType, XmlDocument doc, string encoding, string filename, bool ignoreResponse, out WebHeaderCollection responseHeaders) { if (!String.IsNullOrEmpty(filename)) { return(MultipartSend(method, ref uri, etag, filter, contentType, doc, encoding, filename, ignoreResponse, out responseHeaders)); } string absUri = UrlHelper.SafeToAbsoluteUri(uri); Debug.WriteLine("XML Request to " + absUri + ":\r\n" + doc.InnerXml); SendFactory sf = new SendFactory(etag, method, filter, contentType, doc, encoding); HttpWebResponse response = RedirectHelper.GetResponse(absUri, new RedirectHelper.RequestFactory(sf.Create)); try { responseHeaders = response.Headers; uri = response.ResponseUri; if (ignoreResponse || response.StatusCode == HttpStatusCode.NoContent) { return(null); } else { XmlDocument xmlDocResponse = ParseXmlResponse(response); return(xmlDocResponse); } } finally { if (response != null) { response.Close(); } } }
protected virtual XmlDocument Send(string method, ref Uri uri, string etag, HttpRequestFilter filter, string contentType, XmlDocument doc, string encoding, string filename, bool ignoreResponse, out WebHeaderCollection responseHeaders) { if (!String.IsNullOrEmpty(filename)) { return MultipartSend(method, ref uri, etag, filter, contentType, doc, encoding, filename, ignoreResponse, out responseHeaders); } string absUri = UrlHelper.SafeToAbsoluteUri(uri); Debug.WriteLine("XML Request to " + absUri + ":\r\n" + doc.InnerXml); SendFactory sf = new SendFactory(etag, method, filter, contentType, doc, encoding); HttpWebResponse response = RedirectHelper.GetResponse(absUri, new RedirectHelper.RequestFactory(sf.Create)); try { responseHeaders = response.Headers; uri = response.ResponseUri; if (ignoreResponse || response.StatusCode == HttpStatusCode.NoContent) { return null; } else { XmlDocument xmlDocResponse = ParseXmlResponse(response); return xmlDocResponse; } } finally { if (response != null) response.Close(); } }
/// <summary> /// Send a <see cref="BrokerMessage"/>. /// </summary> /// <param name="message"></param> /// <returns></returns> public Either <Exception, Unit> Send(BrokerMessage message) => SendFactory()(_logger, _connectionFactory, message);