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;
    }
Example #3
0
        protected HttpResponseMessage CreateAndSendMimeLoggedInRequest(string url, HttpMethod method, MimeWriterBase mimeToSend, int?requestTimeout = null)
        {
            var request = this.CreateLoggedInRequest(url, method);

            return(SendHttpRequest(request, mimeToSend));
        }
Example #4
0
    /// <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);
    }