Exemple #1
0
            public HttpWebRequest Create(string uri)
            {
                // TODO: choose rational timeout values
                HttpWebRequest request = HttpRequestHelper.CreateHttpWebRequest(uri, false);

                _parent.CreateAuthorizationFilter().Invoke(request);

                request.ContentType = MimeHelper.GetContentType(Path.GetExtension(_filename));
                try
                {
                    request.Headers.Add("Slug", Path.GetFileNameWithoutExtension(_filename));
                }
                catch (ArgumentException)
                {
                    request.Headers.Add("Slug", "Image");
                }

                request.Method = _method;

                using (Stream s = request.GetRequestStream())
                {
                    using (Stream inS = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.Read))
                    {
                        StreamHelper.Transfer(inS, s);
                    }
                }

                return(request);
            }
            public async Task <HttpRequestMessage> Create(string uri)
            {
                // TODO: choose rational timeout values
                var request = HttpRequestHelper.CreateHttpWebRequest(uri, false);

                await(await _parent.CreateAuthorizationFilter()).Invoke(request);

                //request.Headers.

                //request.ContentType = MimeHelper.GetContentType(Path.GetExtension(_filename));
                try
                {
                    request.Headers.Add("Slug", Path.GetFileNameWithoutExtension(_filename));
                }
                catch (ArgumentException)
                {
                    request.Headers.Add("Slug", "Image");
                }

                request.Method = new HttpMethod(_method);

                _fileStream.Seek(0, SeekOrigin.Begin);
                var streamContent = new HttpStreamContent(_fileStream.AsInputStream());

                streamContent.Headers.ContentLength = (ulong?)_fileStream.Length;
                streamContent.Headers.ContentType   = new HttpMediaTypeHeaderValue(MimeHelper.GetContentType(Path.GetExtension(_filename)));

                request.Content = streamContent;

                //using (Stream s = request.GetRequestStream())
                //{
                //    using (Stream inS = new FileStream(_filename, FileMode.Open, FileAccess.Read, FileShare.Read))
                //    {
                //        StreamHelper.Transfer(inS, s);
                //    }
                //}

                return(request);
            }