/src/WebDavClient/Cadenza.Net/WebDavPropertyFindMethod.cs
C# | 41 lines | 33 code | 8 blank | 0 comment | 1 complexity | 8ff6ec90f519c928bff14e7672ecf6e1 MD5 | raw file
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Xml.Linq;
- namespace Cadenza.Net {
- public class WebDavPropertyFindMethod : WebDavMethod {
- public XDocument Response {get; private set;}
- public Uri Uri {get; private set;}
- IDictionary<string, string> requestHeaders;
- public override IDictionary<string, string> RequestHeaders {
- get {return requestHeaders;}
- }
- internal WebDavPropertyFindMethod (Uri uri, Stream content, int depth)
- : base (content, "text/xml")
- {
- Uri = uri;
- requestHeaders = new Dictionary<string, string> () {
- { "Depth", depth == -1 ? "infinity" : depth.ToString () },
- };
- }
- protected override void OnResponse (Stream response)
- {
- Response = XDocument.Load (response);
- }
- public IEnumerable<WebDavResponse> GetResponses ()
- {
- return Response.Elements (WebDavNames.Multistatus)
- .Elements (WebDavNames.Response)
- .Select (r => new WebDavResponse (r));
- }
- }
- }