{"action":"created","issue":{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/810","labels_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/810/labels{/name}","comments_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/810/comments","events_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/810/events","html_url":"https://github.com/sandstorm-io/sandstorm/pull/810","id":103973537,"number":810,"title":"Add support for webdav to the proxy/legacy bridge","user":{"login":"mnutt","id":3705,"avatar_url":"https://avatars.githubusercontent.com/u/3705?v=3","gravatar_id":"","url":"https://api.github.com/users/mnutt","html_url":"https://github.com/mnutt","followers_url":"https://api.github.com/users/mnutt/followers","following_url":"https://api.github.com/users/mnutt/following{/other_user}","gists_url":"https://api.github.com/users/mnutt/gists{/gist_id}","starred_url":"https://api.github.com/users/mnutt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mnutt/subscriptions","organizations_url":"https://api.github.com/users/mnutt/orgs","repos_url":"https://api.github.com/users/mnutt/repos","events_url":"https://api.github.com/users/mnutt/events{/privacy}","received_events_url":"https://api.github.com/users/mnutt/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-08-31T02:19:29Z","updated_at":"2015-10-02T04:29:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/pulls/810","html_url":"https://github.com/sandstorm-io/sandstorm/pull/810","diff_url":"https://github.com/sandstorm-io/sandstorm/pull/810.diff","patch_url":"https://github.com/sandstorm-io/sandstorm/pull/810.patch"},"body":"As discussed in https://groups.google.com/forum/#!topic/sandstorm-dev/TcnV64xbzng.\r\n\r\nThis PR allows for a desktop/mobile client to communicate with a sandstorm grain through its API using WebDAV. It does the following:\r\n\r\n* Adding the methods PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, ACL, REPORT, and HEAD \r\n* Adding webdav-specific response headers DAV and ETag\r\n* Creating a whitelist of allowed request headers\r\n* Adding response codes 204, 206, 207, and 304. The extra noContent codes don't really fit the existing shouldResetForm heuristics so I ended up having to switch them over to just specifying the successCode in the schema. \r\n* Making OPTIONS requests hit the grain, as the \"DAV\" header can potentially be part of the response and there is no way for the proxy to determine the correct value otherwise. \r\n* Adding a whitelist of legacy clients that require basic auth to use web keys, and adding mirall to the list"},"comment":{"url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/comments/144913970","html_url":"https://github.com/sandstorm-io/sandstorm/pull/810#issuecomment-144913970","issue_url":"https://api.github.com/repos/sandstorm-io/sandstorm/issues/810","id":144913970,"user":{"login":"kentonv","id":4001805,"avatar_url":"https://avatars.githubusercontent.com/u/4001805?v=3","gravatar_id":"","url":"https://api.github.com/users/kentonv","html_url":"https://github.com/kentonv","followers_url":"https://api.github.com/users/kentonv/followers","following_url":"https://api.github.com/users/kentonv/following{/other_user}","gists_url":"https://api.github.com/users/kentonv/gists{/gist_id}","starred_url":"https://api.github.com/users/kentonv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kentonv/subscriptions","organizations_url":"https://api.github.com/users/kentonv/orgs","repos_url":"https://api.github.com/users/kentonv/repos","events_url":"https://api.github.com/users/kentonv/events{/privacy}","received_events_url":"https://api.github.com/users/kentonv/received_events","type":"User","site_admin":false},"created_at":"2015-10-02T04:29:31Z","updated_at":"2015-10-02T04:29:31Z","body":"Hey, I'm working on this in the \"webdav\" branch:\r\n\r\nhttps://github.com/sandstorm-io/sandstorm/tree/webdav\r\n\r\nI haven't really tested these changes since I'm not sure how to set up the test case. I guess I'll finish coding and then either ask you to test it or give me instructions for how I can test it. :)\r\n\r\nI've also created a Wekan tracking tasks:\r\n\r\nhttps://oasis.sandstorm.io/shared/5GRQllbB0DGBLFgUo8oMUf_6ecpTwbhIyQQ5gVbKM86"}}