{"action":"created","comment":{"url":"https://api.github.com/repos/falconry/falcon/pulls/comments/43421631","id":43421631,"diff_hunk":"@@ -336,6 +336,16 @@ def test_response_header_helpers_on_get(self):\n         self.assertIn(('content-range', 'bytes 0-499/10240'),\n                       self.srmock.headers)\n \n+        resp.content_range = (0, 499, 10 * 1024, 'bytes')\n+        self.assertEqual('bytes 0-499/10240', resp.content_range)\n+        self.assertIn(('content-range', 'bytes 0-499/10240'),\n+                      self.srmock.headers)\n+\n+        resp.content_range = (0, 25, 100, 'items')\n+        self.assertEqual('items 0-25/100', resp.content_range)\n+        self.assertIn(('content-range', 'bytes 0-499/10240'),","path":"tests/test_headers.py","position":11,"original_position":11,"commit_id":"d1ed523bad95c2dd0f768c3160e23a284215836a","original_commit_id":"d1ed523bad95c2dd0f768c3160e23a284215836a","user":{"login":"fxfitz","id":6355826,"avatar_url":"https://avatars.githubusercontent.com/u/6355826?v=3","gravatar_id":"","url":"https://api.github.com/users/fxfitz","html_url":"https://github.com/fxfitz","followers_url":"https://api.github.com/users/fxfitz/followers","following_url":"https://api.github.com/users/fxfitz/following{/other_user}","gists_url":"https://api.github.com/users/fxfitz/gists{/gist_id}","starred_url":"https://api.github.com/users/fxfitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fxfitz/subscriptions","organizations_url":"https://api.github.com/users/fxfitz/orgs","repos_url":"https://api.github.com/users/fxfitz/repos","events_url":"https://api.github.com/users/fxfitz/events{/privacy}","received_events_url":"https://api.github.com/users/fxfitz/received_events","type":"User","site_admin":false},"body":"Shouldn't this test be checking for `'items 0-25/100'`?","created_at":"2015-10-29T18:01:51Z","updated_at":"2015-10-29T18:01:51Z","html_url":"https://github.com/falconry/falcon/pull/570#discussion_r43421631","pull_request_url":"https://api.github.com/repos/falconry/falcon/pulls/570","_links":{"self":{"href":"https://api.github.com/repos/falconry/falcon/pulls/comments/43421631"},"html":{"href":"https://github.com/falconry/falcon/pull/570#discussion_r43421631"},"pull_request":{"href":"https://api.github.com/repos/falconry/falcon/pulls/570"}}},"pull_request":{"url":"https://api.github.com/repos/falconry/falcon/pulls/570","id":40114028,"html_url":"https://github.com/falconry/falcon/pull/570","diff_url":"https://github.com/falconry/falcon/pull/570.diff","patch_url":"https://github.com/falconry/falcon/pull/570.patch","issue_url":"https://api.github.com/repos/falconry/falcon/issues/570","number":570,"state":"open","locked":false,"title":"feat(req+resp): Add support for Content-Range units other than 'bytes'","user":{"login":"p3dda","id":2871413,"avatar_url":"https://avatars.githubusercontent.com/u/2871413?v=3","gravatar_id":"","url":"https://api.github.com/users/p3dda","html_url":"https://github.com/p3dda","followers_url":"https://api.github.com/users/p3dda/followers","following_url":"https://api.github.com/users/p3dda/following{/other_user}","gists_url":"https://api.github.com/users/p3dda/gists{/gist_id}","starred_url":"https://api.github.com/users/p3dda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/p3dda/subscriptions","organizations_url":"https://api.github.com/users/p3dda/orgs","repos_url":"https://api.github.com/users/p3dda/repos","events_url":"https://api.github.com/users/p3dda/events{/privacy}","received_events_url":"https://api.github.com/users/p3dda/received_events","type":"User","site_admin":false},"body":"In RTF 2616 it says that \"The only range unit defined by HTTP/1.1 is \"bytes\". HTTP/1.1 implementations MAY ignore ranges specified using other units.\". Current falcon implementation only accepts 'bytes', which does not work with some client implementations using different range units. For example, dojo/store/JsonRest requires the server to support 'items' as range unit.\r\n\r\nThis pull request adds a request property 'range_unit', which contains the range-unit parsed from Range header. It enhances format_range to accept a range unit as optional parameter in range tuple. This range unit default is set to 'bytes' to not break current API.","created_at":"2015-07-16T10:15:16Z","updated_at":"2015-10-29T18:01:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"33af81d65bb030a9d7f2d6bc7b35a69c68f22bb3","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/falconry/falcon/pulls/570/commits","review_comments_url":"https://api.github.com/repos/falconry/falcon/pulls/570/comments","review_comment_url":"https://api.github.com/repos/falconry/falcon/pulls/comments{/number}","comments_url":"https://api.github.com/repos/falconry/falcon/issues/570/comments","statuses_url":"https://api.github.com/repos/falconry/falcon/statuses/d1ed523bad95c2dd0f768c3160e23a284215836a","head":{"label":"CygnusNetworks:master","ref":"master","sha":"d1ed523bad95c2dd0f768c3160e23a284215836a","user":{"login":"CygnusNetworks","id":3418113,"avatar_url":"https://avatars.githubusercontent.com/u/3418113?v=3","gravatar_id":"","url":"https://api.github.com/users/CygnusNetworks","html_url":"https://github.com/CygnusNetworks","followers_url":"https://api.github.com/users/CygnusNetworks/followers","following_url":"https://api.github.com/users/CygnusNetworks/following{/other_user}","gists_url":"https://api.github.com/users/CygnusNetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/CygnusNetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CygnusNetworks/subscriptions","organizations_url":"https://api.github.com/users/CygnusNetworks/orgs","repos_url":"https://api.github.com/users/CygnusNetworks/repos","events_url":"https://api.github.com/users/CygnusNetworks/events{/privacy}","received_events_url":"https://api.github.com/users/CygnusNetworks/received_events","type":"Organization","site_admin":false},"repo":{"id":39077334,"name":"falcon","full_name":"CygnusNetworks/falcon","owner":{"login":"CygnusNetworks","id":3418113,"avatar_url":"https://avatars.githubusercontent.com/u/3418113?v=3","gravatar_id":"","url":"https://api.github.com/users/CygnusNetworks","html_url":"https://github.com/CygnusNetworks","followers_url":"https://api.github.com/users/CygnusNetworks/followers","following_url":"https://api.github.com/users/CygnusNetworks/following{/other_user}","gists_url":"https://api.github.com/users/CygnusNetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/CygnusNetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CygnusNetworks/subscriptions","organizations_url":"https://api.github.com/users/CygnusNetworks/orgs","repos_url":"https://api.github.com/users/CygnusNetworks/repos","events_url":"https://api.github.com/users/CygnusNetworks/events{/privacy}","received_events_url":"https://api.github.com/users/CygnusNetworks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CygnusNetworks/falcon","description":"Falcon is a high-performance Python framework for building cloud APIs, smart proxies, and app backends.","fork":true,"url":"https://api.github.com/repos/CygnusNetworks/falcon","forks_url":"https://api.github.com/repos/CygnusNetworks/falcon/forks","keys_url":"https://api.github.com/repos/CygnusNetworks/falcon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CygnusNetworks/falcon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CygnusNetworks/falcon/teams","hooks_url":"https://api.github.com/repos/CygnusNetworks/falcon/hooks","issue_events_url":"https://api.github.com/repos/CygnusNetworks/falcon/issues/events{/number}","events_url":"https://api.github.com/repos/CygnusNetworks/falcon/events","assignees_url":"https://api.github.com/repos/CygnusNetworks/falcon/assignees{/user}","branches_url":"https://api.github.com/repos/CygnusNetworks/falcon/branches{/branch}","tags_url":"https://api.github.com/repos/CygnusNetworks/falcon/tags","blobs_url":"https://api.github.com/repos/CygnusNetworks/falcon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CygnusNetworks/falcon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CygnusNetworks/falcon/git/refs{/sha}","trees_url":"https://api.github.com/repos/CygnusNetworks/falcon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CygnusNetworks/falcon/statuses/{sha}","languages_url":"https://api.github.com/repos/CygnusNetworks/falcon/languages","stargazers_url":"https://api.github.com/repos/CygnusNetworks/falcon/stargazers","contributors_url":"https://api.github.com/repos/CygnusNetworks/falcon/contributors","subscribers_url":"https://api.github.com/repos/CygnusNetworks/falcon/subscribers","subscription_url":"https://api.github.com/repos/CygnusNetworks/falcon/subscription","commits_url":"https://api.github.com/repos/CygnusNetworks/falcon/commits{/sha}","git_commits_url":"https://api.github.com/repos/CygnusNetworks/falcon/git/commits{/sha}","comments_url":"https://api.github.com/repos/CygnusNetworks/falcon/comments{/number}","issue_comment_url":"https://api.github.com/repos/CygnusNetworks/falcon/issues/comments{/number}","contents_url":"https://api.github.com/repos/CygnusNetworks/falcon/contents/{+path}","compare_url":"https://api.github.com/repos/CygnusNetworks/falcon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CygnusNetworks/falcon/merges","archive_url":"https://api.github.com/repos/CygnusNetworks/falcon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CygnusNetworks/falcon/downloads","issues_url":"https://api.github.com/repos/CygnusNetworks/falcon/issues{/number}","pulls_url":"https://api.github.com/repos/CygnusNetworks/falcon/pulls{/number}","milestones_url":"https://api.github.com/repos/CygnusNetworks/falcon/milestones{/number}","notifications_url":"https://api.github.com/repos/CygnusNetworks/falcon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CygnusNetworks/falcon/labels{/name}","releases_url":"https://api.github.com/repos/CygnusNetworks/falcon/releases{/id}","created_at":"2015-07-14T13:47:30Z","updated_at":"2015-07-14T13:47:31Z","pushed_at":"2015-07-16T09:55:36Z","git_url":"git://github.com/CygnusNetworks/falcon.git","ssh_url":"git@github.com:CygnusNetworks/falcon.git","clone_url":"https://github.com/CygnusNetworks/falcon.git","svn_url":"https://github.com/CygnusNetworks/falcon","homepage":"http://falconframework.org","size":11995,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"falconry:master","ref":"master","sha":"e4543098a31b99f85c85502197060b105053962b","user":{"login":"falconry","id":11353642,"avatar_url":"https://avatars.githubusercontent.com/u/11353642?v=3","gravatar_id":"","url":"https://api.github.com/users/falconry","html_url":"https://github.com/falconry","followers_url":"https://api.github.com/users/falconry/followers","following_url":"https://api.github.com/users/falconry/following{/other_user}","gists_url":"https://api.github.com/users/falconry/gists{/gist_id}","starred_url":"https://api.github.com/users/falconry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/falconry/subscriptions","organizations_url":"https://api.github.com/users/falconry/orgs","repos_url":"https://api.github.com/users/falconry/repos","events_url":"https://api.github.com/users/falconry/events{/privacy}","received_events_url":"https://api.github.com/users/falconry/received_events","type":"Organization","site_admin":false},"repo":{"id":7040500,"name":"falcon","full_name":"falconry/falcon","owner":{"login":"falconry","id":11353642,"avatar_url":"https://avatars.githubusercontent.com/u/11353642?v=3","gravatar_id":"","url":"https://api.github.com/users/falconry","html_url":"https://github.com/falconry","followers_url":"https://api.github.com/users/falconry/followers","following_url":"https://api.github.com/users/falconry/following{/other_user}","gists_url":"https://api.github.com/users/falconry/gists{/gist_id}","starred_url":"https://api.github.com/users/falconry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/falconry/subscriptions","organizations_url":"https://api.github.com/users/falconry/orgs","repos_url":"https://api.github.com/users/falconry/repos","events_url":"https://api.github.com/users/falconry/events{/privacy}","received_events_url":"https://api.github.com/users/falconry/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/falconry/falcon","description":"Falcon is a high-performance Python framework for building cloud APIs, smart proxies, and app backends.","fork":false,"url":"https://api.github.com/repos/falconry/falcon","forks_url":"https://api.github.com/repos/falconry/falcon/forks","keys_url":"https://api.github.com/repos/falconry/falcon/keys{/key_id}","collaborators_url":"https://api.github.com/repos/falconry/falcon/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/falconry/falcon/teams","hooks_url":"https://api.github.com/repos/falconry/falcon/hooks","issue_events_url":"https://api.github.com/repos/falconry/falcon/issues/events{/number}","events_url":"https://api.github.com/repos/falconry/falcon/events","assignees_url":"https://api.github.com/repos/falconry/falcon/assignees{/user}","branches_url":"https://api.github.com/repos/falconry/falcon/branches{/branch}","tags_url":"https://api.github.com/repos/falconry/falcon/tags","blobs_url":"https://api.github.com/repos/falconry/falcon/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/falconry/falcon/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/falconry/falcon/git/refs{/sha}","trees_url":"https://api.github.com/repos/falconry/falcon/git/trees{/sha}","statuses_url":"https://api.github.com/repos/falconry/falcon/statuses/{sha}","languages_url":"https://api.github.com/repos/falconry/falcon/languages","stargazers_url":"https://api.github.com/repos/falconry/falcon/stargazers","contributors_url":"https://api.github.com/repos/falconry/falcon/contributors","subscribers_url":"https://api.github.com/repos/falconry/falcon/subscribers","subscription_url":"https://api.github.com/repos/falconry/falcon/subscription","commits_url":"https://api.github.com/repos/falconry/falcon/commits{/sha}","git_commits_url":"https://api.github.com/repos/falconry/falcon/git/commits{/sha}","comments_url":"https://api.github.com/repos/falconry/falcon/comments{/number}","issue_comment_url":"https://api.github.com/repos/falconry/falcon/issues/comments{/number}","contents_url":"https://api.github.com/repos/falconry/falcon/contents/{+path}","compare_url":"https://api.github.com/repos/falconry/falcon/compare/{base}...{head}","merges_url":"https://api.github.com/repos/falconry/falcon/merges","archive_url":"https://api.github.com/repos/falconry/falcon/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/falconry/falcon/downloads","issues_url":"https://api.github.com/repos/falconry/falcon/issues{/number}","pulls_url":"https://api.github.com/repos/falconry/falcon/pulls{/number}","milestones_url":"https://api.github.com/repos/falconry/falcon/milestones{/number}","notifications_url":"https://api.github.com/repos/falconry/falcon/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/falconry/falcon/labels{/name}","releases_url":"https://api.github.com/repos/falconry/falcon/releases{/id}","created_at":"2012-12-06T18:17:51Z","updated_at":"2015-10-29T16:56:21Z","pushed_at":"2015-10-29T06:06:38Z","git_url":"git://github.com/falconry/falcon.git","ssh_url":"git@github.com:falconry/falcon.git","clone_url":"https://github.com/falconry/falcon.git","svn_url":"https://github.com/falconry/falcon","homepage":"http://falconframework.org","size":16056,"stargazers_count":2225,"watchers_count":2225,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":259,"mirror_url":null,"open_issues_count":197,"forks":259,"open_issues":197,"watchers":2225,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/falconry/falcon/pulls/570"},"html":{"href":"https://github.com/falconry/falcon/pull/570"},"issue":{"href":"https://api.github.com/repos/falconry/falcon/issues/570"},"comments":{"href":"https://api.github.com/repos/falconry/falcon/issues/570/comments"},"review_comments":{"href":"https://api.github.com/repos/falconry/falcon/pulls/570/comments"},"review_comment":{"href":"https://api.github.com/repos/falconry/falcon/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/falconry/falcon/pulls/570/commits"},"statuses":{"href":"https://api.github.com/repos/falconry/falcon/statuses/d1ed523bad95c2dd0f768c3160e23a284215836a"}}}}