protected HttpResponseMessage SendHttpRequest(HttpRequestMessage request, MimeWriterBase mimeToSend) { Requires.NonNull(request.Method, nameof(request.Method)); var uploadMimeChunk = mimeToSend.GenerateMimeEncodedChunk(); request.Headers.TryAddWithoutValidation("Content-Type", "multipart/mixed; boundary=" + mimeToSend.MimeBoundaryMarker); request.Content = new ByteArrayContent(uploadMimeChunk, 0, uploadMimeChunk.Length); return(GetHttpResponseLongRunningAsync(request).ExecuteSynchronously()); }
/// <summary> /// Creates a web request with a MIME payload and send it to server /// </summary> /// <param name="url"></param> /// <param name="protocol">e.g. "PUT" "POST" </param> /// <param name="mimeToSend">Mime data we are goign to send</param> /// <returns></returns> protected WebRequest CreateAndSendMimeLoggedInRequest(string url, string protocol, MimeWriterBase mimeToSend, Nullable<int> requestTimeout = null) { var webRequest = this.CreateLoggedInWebRequest(url, protocol, requestTimeout); //var uploadChunkAsMime = new OnlineMimeUploadChunk(uploadDataBuffer, numBytes); var uploadMimeChunk = mimeToSend.GenerateMimeEncodedChunk(); webRequest.ContentLength = uploadMimeChunk.Length; webRequest.ContentType = "multipart/mixed; boundary=" + mimeToSend.MimeBoundaryMarker; //Write out the request var requestStream = webRequest.GetRequestStream(); requestStream.Write(uploadMimeChunk, 0, uploadMimeChunk.Length); return webRequest; }
protected HttpResponseMessage CreateAndSendMimeLoggedInRequest(string url, HttpMethod method, MimeWriterBase mimeToSend, int?requestTimeout = null) { var request = this.CreateLoggedInRequest(url, method); return(SendHttpRequest(request, mimeToSend)); }
/// <summary> /// Creates a web request with a MIME payload and send it to server /// </summary> /// <param name="url"></param> /// <param name="protocol">e.g. "PUT" "POST" </param> /// <param name="mimeToSend">Mime data we are goign to send</param> /// <returns></returns> protected WebRequest CreateAndSendMimeLoggedInRequest(string url, string protocol, MimeWriterBase mimeToSend, Nullable <int> requestTimeout = null) { var webRequest = this.CreateLoggedInWebRequest(url, protocol, requestTimeout); //var uploadChunkAsMime = new OnlineMimeUploadChunk(uploadDataBuffer, numBytes); var uploadMimeChunk = mimeToSend.GenerateMimeEncodedChunk(); webRequest.ContentLength = uploadMimeChunk.Length; webRequest.ContentType = "multipart/mixed; boundary=" + mimeToSend.MimeBoundaryMarker; //Write out the request var requestStream = webRequest.GetRequestStream(); requestStream.Write(uploadMimeChunk, 0, uploadMimeChunk.Length); return(webRequest); }