Example #1
0
        IEnumerable<DavResource> MakeRequest(Uri uri, DavVerb verb)
        {
            using (var queryStream = new MemoryStream())
            {
                PrepareRequestXml(queryStream);

                long contentLength = queryStream.Length;

                HttpWebRequest request = PrepareWebRequest(uri, verb, contentLength);

                using (Stream s = request.GetRequestStream())
                {
                    queryStream.WriteTo(s);
                    s.Close();
                }

                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        byte[] bytes = responseStream.ReadToEnd();

                        Trace.WriteLine(Encoding.UTF8.GetString(bytes));

                        using (var reader = new MemoryStream(bytes))
                        {
                            return ParseResponse(uri, reader);
                        }
                    }
                }
            }
        }
Example #2
0
        public static HttpWebRequest CreateWebRequest(this Uri location, DavVerb verb, RemoteCredentials credentials)
        {
            var request = (HttpWebRequest)WebRequest.Create(location.For(credentials));

            request.Credentials = credentials.For(location);
            request.Method = verb.ToString().ToUpperInvariant();

            return request;
        }
Example #3
0
        HttpWebRequest PrepareWebRequest(Uri uri, DavVerb verb, long contentLength)
        {
            var request = (HttpWebRequest)WebRequest.Create(uri);

            if(_credentials != null)
                request.Credentials = _credentials.For(uri);

            request.Method = verb.ToString().ToUpperInvariant();
            request.ProtocolVersion = HttpVersion.Version10;
            request.Headers["Depth"] = "1";
            request.ContentType = "text/xml; charset=\"utf-8\"";
            request.ContentLength = contentLength;
            return request;
        }