{"action":"created","issue":{"url":"https://api.github.com/repos/octokit/octokit.net/issues/352","labels_url":"https://api.github.com/repos/octokit/octokit.net/issues/352/labels{/name}","comments_url":"https://api.github.com/repos/octokit/octokit.net/issues/352/comments","events_url":"https://api.github.com/repos/octokit/octokit.net/issues/352/events","html_url":"https://github.com/octokit/octokit.net/issues/352","id":26566584,"number":352,"title":"Support Etags","user":{"login":"Haacked","id":19977,"avatar_url":"https://avatars.githubusercontent.com/u/19977?v=3","gravatar_id":"","url":"https://api.github.com/users/Haacked","html_url":"https://github.com/Haacked","followers_url":"https://api.github.com/users/Haacked/followers","following_url":"https://api.github.com/users/Haacked/following{/other_user}","gists_url":"https://api.github.com/users/Haacked/gists{/gist_id}","starred_url":"https://api.github.com/users/Haacked/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Haacked/subscriptions","organizations_url":"https://api.github.com/users/Haacked/orgs","repos_url":"https://api.github.com/users/Haacked/repos","events_url":"https://api.github.com/users/Haacked/events{/privacy}","received_events_url":"https://api.github.com/users/Haacked/received_events","type":"User","site_admin":true},"labels":[{"url":"https://api.github.com/repos/octokit/octokit.net/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2014-01-30T00:37:41Z","updated_at":"2015-06-20T16:07:53Z","closed_at":null,"body":"GitHub API supports Etags! But Octokit.net does not. \r\n\r\n![](https://raw2.github.com/Haacked/gifs/master/sad/cute-sad.gif)\r\n\r\nWe should support this! But it's a teensy bit tricky. If we only support this at the `ApiConnection` or `Connection` level, then using Octokit becomes kind of a pain for everyone.\r\n\r\nIdeally, it's part of our top level api. But that poses a problem as well, do we just add an Etag property to the models? Then what do we do about cases like this?\r\n\r\n```\r\nIObservable<Repository> GetRepositories();\r\n```\r\n\r\nThe ETag for that request (or set of requests) is for the list of repositories. Each individual repository won't have an etag.\r\n\r\nThoughts?"},"comment":{"url":"https://api.github.com/repos/octokit/octokit.net/issues/comments/113786813","html_url":"https://github.com/octokit/octokit.net/issues/352#issuecomment-113786813","issue_url":"https://api.github.com/repos/octokit/octokit.net/issues/352","id":113786813,"user":{"login":"darrelmiller","id":447694,"avatar_url":"https://avatars.githubusercontent.com/u/447694?v=3","gravatar_id":"","url":"https://api.github.com/users/darrelmiller","html_url":"https://github.com/darrelmiller","followers_url":"https://api.github.com/users/darrelmiller/followers","following_url":"https://api.github.com/users/darrelmiller/following{/other_user}","gists_url":"https://api.github.com/users/darrelmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/darrelmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darrelmiller/subscriptions","organizations_url":"https://api.github.com/users/darrelmiller/orgs","repos_url":"https://api.github.com/users/darrelmiller/repos","events_url":"https://api.github.com/users/darrelmiller/events{/privacy}","received_events_url":"https://api.github.com/users/darrelmiller/received_events","type":"User","site_admin":false},"created_at":"2015-06-20T16:07:53Z","updated_at":"2015-06-20T16:07:53Z","body":"If you plug in [Tavis.HttpCache](https://github.com/tavis-software/Tavis.HttpCache) it will transparently take advantage of Etags/LastModified assuming you allow the response to be privately cached.  It will automatically convert a GET into a conditional if the cached response is stale and will serve the response from the cache if a 304 comes back."}}