{"action":"created","comment":{"url":"https://api.github.com/repos/julienschmidt/httprouter/pulls/comments/73569441","id":73569441,"diff_hunk":"@@ -0,0 +1,36 @@\n+// +build go1.7\n+\n+package httprouter\n+\n+import (\n+\t\"context\"\n+\t\"net/http\"\n+)\n+\n+// ParamsKey is the request context key under which URL params are stored.\n+//\n+// This is only present from go 1.7.\n+const ParamsKey = \"_httprouter_params\"","path":"stdparams.go","position":13,"original_position":13,"commit_id":"30167f617b40ac533cfe9bd78e006afbae06acd9","original_commit_id":"30167f617b40ac533cfe9bd78e006afbae06acd9","user":{"login":"Thomasdezeeuw","id":3159064,"avatar_url":"https://avatars.githubusercontent.com/u/3159064?v=3","gravatar_id":"","url":"https://api.github.com/users/Thomasdezeeuw","html_url":"https://github.com/Thomasdezeeuw","followers_url":"https://api.github.com/users/Thomasdezeeuw/followers","following_url":"https://api.github.com/users/Thomasdezeeuw/following{/other_user}","gists_url":"https://api.github.com/users/Thomasdezeeuw/gists{/gist_id}","starred_url":"https://api.github.com/users/Thomasdezeeuw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Thomasdezeeuw/subscriptions","organizations_url":"https://api.github.com/users/Thomasdezeeuw/orgs","repos_url":"https://api.github.com/users/Thomasdezeeuw/repos","events_url":"https://api.github.com/users/Thomasdezeeuw/events{/privacy}","received_events_url":"https://api.github.com/users/Thomasdezeeuw/received_events","type":"User","site_admin":false},"body":"It's even better to use a type, rather then a string. For example like in gRPC: https://github.com/grpc/grpc-go/blob/9e3a674ceba65708273cf1cd8e71a1bdce68107b/peer/peer.go#L54-L65.","created_at":"2016-08-04T17:47:09Z","updated_at":"2016-08-04T17:47:09Z","html_url":"https://github.com/julienschmidt/httprouter/pull/147#discussion_r73569441","pull_request_url":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147","_links":{"self":{"href":"https://api.github.com/repos/julienschmidt/httprouter/pulls/comments/73569441"},"html":{"href":"https://github.com/julienschmidt/httprouter/pull/147#discussion_r73569441"},"pull_request":{"href":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147"}}},"pull_request":{"url":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147","id":74120545,"html_url":"https://github.com/julienschmidt/httprouter/pull/147","diff_url":"https://github.com/julienschmidt/httprouter/pull/147.diff","patch_url":"https://github.com/julienschmidt/httprouter/pull/147.patch","issue_url":"https://api.github.com/repos/julienschmidt/httprouter/issues/147","number":147,"state":"open","locked":false,"title":"Supports Params in net/http Handlers with go1.7+","user":{"login":"teepark","id":37182,"avatar_url":"https://avatars.githubusercontent.com/u/37182?v=3","gravatar_id":"","url":"https://api.github.com/users/teepark","html_url":"https://github.com/teepark","followers_url":"https://api.github.com/users/teepark/followers","following_url":"https://api.github.com/users/teepark/following{/other_user}","gists_url":"https://api.github.com/users/teepark/gists{/gist_id}","starred_url":"https://api.github.com/users/teepark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teepark/subscriptions","organizations_url":"https://api.github.com/users/teepark/orgs","repos_url":"https://api.github.com/users/teepark/repos","events_url":"https://api.github.com/users/teepark/events{/privacy}","received_events_url":"https://api.github.com/users/teepark/received_events","type":"User","site_admin":false},"body":"With request-scoped contexts coming to `net/http` in go 1.7 there's no need for `Handler` and `HandlerFunc` to continue throwing away `Params`.\r\n\r\nIt may be a little early for this change, but I wanted to get your eyes on it and start the discussion.","created_at":"2016-06-16T17:29:30Z","updated_at":"2016-08-04T17:47:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"594786a1428fe7edec10d17c10602f0fd5bda1c2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147/commits","review_comments_url":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147/comments","review_comment_url":"https://api.github.com/repos/julienschmidt/httprouter/pulls/comments{/number}","comments_url":"https://api.github.com/repos/julienschmidt/httprouter/issues/147/comments","statuses_url":"https://api.github.com/repos/julienschmidt/httprouter/statuses/30167f617b40ac533cfe9bd78e006afbae06acd9","head":{"label":"teepark:go17-std-handler","ref":"go17-std-handler","sha":"30167f617b40ac533cfe9bd78e006afbae06acd9","user":{"login":"teepark","id":37182,"avatar_url":"https://avatars.githubusercontent.com/u/37182?v=3","gravatar_id":"","url":"https://api.github.com/users/teepark","html_url":"https://github.com/teepark","followers_url":"https://api.github.com/users/teepark/followers","following_url":"https://api.github.com/users/teepark/following{/other_user}","gists_url":"https://api.github.com/users/teepark/gists{/gist_id}","starred_url":"https://api.github.com/users/teepark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teepark/subscriptions","organizations_url":"https://api.github.com/users/teepark/orgs","repos_url":"https://api.github.com/users/teepark/repos","events_url":"https://api.github.com/users/teepark/events{/privacy}","received_events_url":"https://api.github.com/users/teepark/received_events","type":"User","site_admin":false},"repo":{"id":61312201,"name":"httprouter","full_name":"teepark/httprouter","owner":{"login":"teepark","id":37182,"avatar_url":"https://avatars.githubusercontent.com/u/37182?v=3","gravatar_id":"","url":"https://api.github.com/users/teepark","html_url":"https://github.com/teepark","followers_url":"https://api.github.com/users/teepark/followers","following_url":"https://api.github.com/users/teepark/following{/other_user}","gists_url":"https://api.github.com/users/teepark/gists{/gist_id}","starred_url":"https://api.github.com/users/teepark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/teepark/subscriptions","organizations_url":"https://api.github.com/users/teepark/orgs","repos_url":"https://api.github.com/users/teepark/repos","events_url":"https://api.github.com/users/teepark/events{/privacy}","received_events_url":"https://api.github.com/users/teepark/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/teepark/httprouter","description":"A high performance HTTP request router that scales well","fork":true,"url":"https://api.github.com/repos/teepark/httprouter","forks_url":"https://api.github.com/repos/teepark/httprouter/forks","keys_url":"https://api.github.com/repos/teepark/httprouter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/teepark/httprouter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/teepark/httprouter/teams","hooks_url":"https://api.github.com/repos/teepark/httprouter/hooks","issue_events_url":"https://api.github.com/repos/teepark/httprouter/issues/events{/number}","events_url":"https://api.github.com/repos/teepark/httprouter/events","assignees_url":"https://api.github.com/repos/teepark/httprouter/assignees{/user}","branches_url":"https://api.github.com/repos/teepark/httprouter/branches{/branch}","tags_url":"https://api.github.com/repos/teepark/httprouter/tags","blobs_url":"https://api.github.com/repos/teepark/httprouter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/teepark/httprouter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/teepark/httprouter/git/refs{/sha}","trees_url":"https://api.github.com/repos/teepark/httprouter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/teepark/httprouter/statuses/{sha}","languages_url":"https://api.github.com/repos/teepark/httprouter/languages","stargazers_url":"https://api.github.com/repos/teepark/httprouter/stargazers","contributors_url":"https://api.github.com/repos/teepark/httprouter/contributors","subscribers_url":"https://api.github.com/repos/teepark/httprouter/subscribers","subscription_url":"https://api.github.com/repos/teepark/httprouter/subscription","commits_url":"https://api.github.com/repos/teepark/httprouter/commits{/sha}","git_commits_url":"https://api.github.com/repos/teepark/httprouter/git/commits{/sha}","comments_url":"https://api.github.com/repos/teepark/httprouter/comments{/number}","issue_comment_url":"https://api.github.com/repos/teepark/httprouter/issues/comments{/number}","contents_url":"https://api.github.com/repos/teepark/httprouter/contents/{+path}","compare_url":"https://api.github.com/repos/teepark/httprouter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/teepark/httprouter/merges","archive_url":"https://api.github.com/repos/teepark/httprouter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/teepark/httprouter/downloads","issues_url":"https://api.github.com/repos/teepark/httprouter/issues{/number}","pulls_url":"https://api.github.com/repos/teepark/httprouter/pulls{/number}","milestones_url":"https://api.github.com/repos/teepark/httprouter/milestones{/number}","notifications_url":"https://api.github.com/repos/teepark/httprouter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/teepark/httprouter/labels{/name}","releases_url":"https://api.github.com/repos/teepark/httprouter/releases{/id}","deployments_url":"https://api.github.com/repos/teepark/httprouter/deployments","created_at":"2016-06-16T17:15:23Z","updated_at":"2016-06-16T17:15:23Z","pushed_at":"2016-06-16T17:33:30Z","git_url":"git://github.com/teepark/httprouter.git","ssh_url":"git@github.com:teepark/httprouter.git","clone_url":"https://github.com/teepark/httprouter.git","svn_url":"https://github.com/teepark/httprouter","homepage":"http://godoc.org/github.com/julienschmidt/httprouter","size":166,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"julienschmidt:master","ref":"master","sha":"77366a47451a56bb3ba682481eed85b64fea14e8","user":{"login":"julienschmidt","id":944947,"avatar_url":"https://avatars.githubusercontent.com/u/944947?v=3","gravatar_id":"","url":"https://api.github.com/users/julienschmidt","html_url":"https://github.com/julienschmidt","followers_url":"https://api.github.com/users/julienschmidt/followers","following_url":"https://api.github.com/users/julienschmidt/following{/other_user}","gists_url":"https://api.github.com/users/julienschmidt/gists{/gist_id}","starred_url":"https://api.github.com/users/julienschmidt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julienschmidt/subscriptions","organizations_url":"https://api.github.com/users/julienschmidt/orgs","repos_url":"https://api.github.com/users/julienschmidt/repos","events_url":"https://api.github.com/users/julienschmidt/events{/privacy}","received_events_url":"https://api.github.com/users/julienschmidt/received_events","type":"User","site_admin":false},"repo":{"id":14956897,"name":"httprouter","full_name":"julienschmidt/httprouter","owner":{"login":"julienschmidt","id":944947,"avatar_url":"https://avatars.githubusercontent.com/u/944947?v=3","gravatar_id":"","url":"https://api.github.com/users/julienschmidt","html_url":"https://github.com/julienschmidt","followers_url":"https://api.github.com/users/julienschmidt/followers","following_url":"https://api.github.com/users/julienschmidt/following{/other_user}","gists_url":"https://api.github.com/users/julienschmidt/gists{/gist_id}","starred_url":"https://api.github.com/users/julienschmidt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/julienschmidt/subscriptions","organizations_url":"https://api.github.com/users/julienschmidt/orgs","repos_url":"https://api.github.com/users/julienschmidt/repos","events_url":"https://api.github.com/users/julienschmidt/events{/privacy}","received_events_url":"https://api.github.com/users/julienschmidt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/julienschmidt/httprouter","description":"A high performance HTTP request router that scales well","fork":false,"url":"https://api.github.com/repos/julienschmidt/httprouter","forks_url":"https://api.github.com/repos/julienschmidt/httprouter/forks","keys_url":"https://api.github.com/repos/julienschmidt/httprouter/keys{/key_id}","collaborators_url":"https://api.github.com/repos/julienschmidt/httprouter/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/julienschmidt/httprouter/teams","hooks_url":"https://api.github.com/repos/julienschmidt/httprouter/hooks","issue_events_url":"https://api.github.com/repos/julienschmidt/httprouter/issues/events{/number}","events_url":"https://api.github.com/repos/julienschmidt/httprouter/events","assignees_url":"https://api.github.com/repos/julienschmidt/httprouter/assignees{/user}","branches_url":"https://api.github.com/repos/julienschmidt/httprouter/branches{/branch}","tags_url":"https://api.github.com/repos/julienschmidt/httprouter/tags","blobs_url":"https://api.github.com/repos/julienschmidt/httprouter/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/julienschmidt/httprouter/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/julienschmidt/httprouter/git/refs{/sha}","trees_url":"https://api.github.com/repos/julienschmidt/httprouter/git/trees{/sha}","statuses_url":"https://api.github.com/repos/julienschmidt/httprouter/statuses/{sha}","languages_url":"https://api.github.com/repos/julienschmidt/httprouter/languages","stargazers_url":"https://api.github.com/repos/julienschmidt/httprouter/stargazers","contributors_url":"https://api.github.com/repos/julienschmidt/httprouter/contributors","subscribers_url":"https://api.github.com/repos/julienschmidt/httprouter/subscribers","subscription_url":"https://api.github.com/repos/julienschmidt/httprouter/subscription","commits_url":"https://api.github.com/repos/julienschmidt/httprouter/commits{/sha}","git_commits_url":"https://api.github.com/repos/julienschmidt/httprouter/git/commits{/sha}","comments_url":"https://api.github.com/repos/julienschmidt/httprouter/comments{/number}","issue_comment_url":"https://api.github.com/repos/julienschmidt/httprouter/issues/comments{/number}","contents_url":"https://api.github.com/repos/julienschmidt/httprouter/contents/{+path}","compare_url":"https://api.github.com/repos/julienschmidt/httprouter/compare/{base}...{head}","merges_url":"https://api.github.com/repos/julienschmidt/httprouter/merges","archive_url":"https://api.github.com/repos/julienschmidt/httprouter/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/julienschmidt/httprouter/downloads","issues_url":"https://api.github.com/repos/julienschmidt/httprouter/issues{/number}","pulls_url":"https://api.github.com/repos/julienschmidt/httprouter/pulls{/number}","milestones_url":"https://api.github.com/repos/julienschmidt/httprouter/milestones{/number}","notifications_url":"https://api.github.com/repos/julienschmidt/httprouter/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/julienschmidt/httprouter/labels{/name}","releases_url":"https://api.github.com/repos/julienschmidt/httprouter/releases{/id}","deployments_url":"https://api.github.com/repos/julienschmidt/httprouter/deployments","created_at":"2013-12-05T15:10:55Z","updated_at":"2016-08-02T20:38:17Z","pushed_at":"2016-07-11T18:09:07Z","git_url":"git://github.com/julienschmidt/httprouter.git","ssh_url":"git@github.com:julienschmidt/httprouter.git","clone_url":"https://github.com/julienschmidt/httprouter.git","svn_url":"https://github.com/julienschmidt/httprouter","homepage":"http://godoc.org/github.com/julienschmidt/httprouter","size":320,"stargazers_count":3444,"watchers_count":3444,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":325,"mirror_url":null,"open_issues_count":22,"forks":325,"open_issues":22,"watchers":3444,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147"},"html":{"href":"https://github.com/julienschmidt/httprouter/pull/147"},"issue":{"href":"https://api.github.com/repos/julienschmidt/httprouter/issues/147"},"comments":{"href":"https://api.github.com/repos/julienschmidt/httprouter/issues/147/comments"},"review_comments":{"href":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147/comments"},"review_comment":{"href":"https://api.github.com/repos/julienschmidt/httprouter/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/julienschmidt/httprouter/pulls/147/commits"},"statuses":{"href":"https://api.github.com/repos/julienschmidt/httprouter/statuses/30167f617b40ac533cfe9bd78e006afbae06acd9"}}}}
{"actor":{"display_login":"Thomasdezeeuw"}}