PageRenderTime 52ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/src/WebDavClient/Cadenza.Net/WebDavPropertyFindMethod.cs

https://github.com/jonpryor/WebDavClient
C# | 41 lines | 33 code | 8 blank | 0 comment | 1 complexity | 8ff6ec90f519c928bff14e7672ecf6e1 MD5 | raw file
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Xml.Linq;
  6. namespace Cadenza.Net {
  7. public class WebDavPropertyFindMethod : WebDavMethod {
  8. public XDocument Response {get; private set;}
  9. public Uri Uri {get; private set;}
  10. IDictionary<string, string> requestHeaders;
  11. public override IDictionary<string, string> RequestHeaders {
  12. get {return requestHeaders;}
  13. }
  14. internal WebDavPropertyFindMethod (Uri uri, Stream content, int depth)
  15. : base (content, "text/xml")
  16. {
  17. Uri = uri;
  18. requestHeaders = new Dictionary<string, string> () {
  19. { "Depth", depth == -1 ? "infinity" : depth.ToString () },
  20. };
  21. }
  22. protected override void OnResponse (Stream response)
  23. {
  24. Response = XDocument.Load (response);
  25. }
  26. public IEnumerable<WebDavResponse> GetResponses ()
  27. {
  28. return Response.Elements (WebDavNames.Multistatus)
  29. .Elements (WebDavNames.Response)
  30. .Select (r => new WebDavResponse (r));
  31. }
  32. }
  33. }