{"action":"created","issue":{"url":"https://api.github.com/repos/angular/angular/issues/9651","repository_url":"https://api.github.com/repos/angular/angular","labels_url":"https://api.github.com/repos/angular/angular/issues/9651/labels{/name}","comments_url":"https://api.github.com/repos/angular/angular/issues/9651/comments","events_url":"https://api.github.com/repos/angular/angular/issues/9651/events","html_url":"https://github.com/angular/angular/pull/9651","id":162570254,"number":9651,"title":"fix(http): don't encode values that are allowed in query","user":{"login":"jeffbcross","id":463703,"avatar_url":"https://avatars.githubusercontent.com/u/463703?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffbcross","html_url":"https://github.com/jeffbcross","followers_url":"https://api.github.com/users/jeffbcross/followers","following_url":"https://api.github.com/users/jeffbcross/following{/other_user}","gists_url":"https://api.github.com/users/jeffbcross/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffbcross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffbcross/subscriptions","organizations_url":"https://api.github.com/users/jeffbcross/orgs","repos_url":"https://api.github.com/users/jeffbcross/repos","events_url":"https://api.github.com/users/jeffbcross/events{/privacy}","received_events_url":"https://api.github.com/users/jeffbcross/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/angular/angular/labels/cla:%20yes","name":"cla: yes","color":"009800"},{"url":"https://api.github.com/repos/angular/angular/labels/comp:%20http","name":"comp: http","color":"c7def8"},{"url":"https://api.github.com/repos/angular/angular/labels/pr_action:%20cleanup","name":"pr_action: cleanup","color":"e11d21"},{"url":"https://api.github.com/repos/angular/angular/labels/pr_state:%20WIP","name":"pr_state: WIP","color":"fbca04"},{"url":"https://api.github.com/repos/angular/angular/labels/type:%20bug","name":"type: bug","color":"EEEEEE"}],"state":"open","locked":false,"assignee":{"login":"jeffbcross","id":463703,"avatar_url":"https://avatars.githubusercontent.com/u/463703?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffbcross","html_url":"https://github.com/jeffbcross","followers_url":"https://api.github.com/users/jeffbcross/followers","following_url":"https://api.github.com/users/jeffbcross/following{/other_user}","gists_url":"https://api.github.com/users/jeffbcross/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffbcross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffbcross/subscriptions","organizations_url":"https://api.github.com/users/jeffbcross/orgs","repos_url":"https://api.github.com/users/jeffbcross/repos","events_url":"https://api.github.com/users/jeffbcross/events{/privacy}","received_events_url":"https://api.github.com/users/jeffbcross/received_events","type":"User","site_admin":false},"assignees":[{"login":"jeffbcross","id":463703,"avatar_url":"https://avatars.githubusercontent.com/u/463703?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffbcross","html_url":"https://github.com/jeffbcross","followers_url":"https://api.github.com/users/jeffbcross/followers","following_url":"https://api.github.com/users/jeffbcross/following{/other_user}","gists_url":"https://api.github.com/users/jeffbcross/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffbcross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffbcross/subscriptions","organizations_url":"https://api.github.com/users/jeffbcross/orgs","repos_url":"https://api.github.com/users/jeffbcross/repos","events_url":"https://api.github.com/users/jeffbcross/events{/privacy}","received_events_url":"https://api.github.com/users/jeffbcross/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/angular/angular/milestones/62","html_url":"https://github.com/angular/angular/milestones/2.0.0-rc.4","labels_url":"https://api.github.com/repos/angular/angular/milestones/62/labels","id":1831054,"number":62,"title":"2.0.0-rc.4","description":"","creator":{"login":"IgorMinar","id":216296,"avatar_url":"https://avatars.githubusercontent.com/u/216296?v=3","gravatar_id":"","url":"https://api.github.com/users/IgorMinar","html_url":"https://github.com/IgorMinar","followers_url":"https://api.github.com/users/IgorMinar/followers","following_url":"https://api.github.com/users/IgorMinar/following{/other_user}","gists_url":"https://api.github.com/users/IgorMinar/gists{/gist_id}","starred_url":"https://api.github.com/users/IgorMinar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/IgorMinar/subscriptions","organizations_url":"https://api.github.com/users/IgorMinar/orgs","repos_url":"https://api.github.com/users/IgorMinar/repos","events_url":"https://api.github.com/users/IgorMinar/events{/privacy}","received_events_url":"https://api.github.com/users/IgorMinar/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":50,"state":"open","created_at":"2016-06-15T23:19:22Z","updated_at":"2016-06-28T14:50:27Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-06-27T23:23:26Z","updated_at":"2016-06-28T17:03:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/angular/angular/pulls/9651","html_url":"https://github.com/angular/angular/pull/9651","diff_url":"https://github.com/angular/angular/pull/9651.diff","patch_url":"https://github.com/angular/angular/pull/9651.patch"},"body":"@vicb still some work to do on this PR, but I hope you can give an initial review and give your thoughts on the approach.\r\n\r\nTODO: \r\n - [ ] Actually inject the QueryEncoder so it can be changed with DI\r\n - [ ] Make the encode a RequestOption property so it can be passed in at runtime (to support multiple encoders for different backends)\r\n - [ ] Add decoding as well, to symmetrically parse query params.\r\n - [ ] Add docs showing how to override encoder\r\n\r\n\r\nThis implements a new class, QueryEncoder, that provides\r\nmethods for encoding keys and values of query parameter.\r\nThe encoder encodes with encodeURIComponent, and then\r\ndecodes a whitelist of allowed characters back to their\r\nunencoded form. QueryEncoder is intended to be provided\r\nto http via Dependency Injection so the default encoding\r\nmechanism can be overridden.\r\n\r\nBREAKING CHANGE:\r\n\r\nThe changes to Http's URLSearchParams serialization now \r\nprevent encoding of these characters inside query parameters\r\nwhich were previously converted to percent-encoded values:\r\n\r\n@ : $ , ; + ; ? /\r\n\r\nFixes #9348"},"comment":{"url":"https://api.github.com/repos/angular/angular/issues/comments/229114025","html_url":"https://github.com/angular/angular/pull/9651#issuecomment-229114025","issue_url":"https://api.github.com/repos/angular/angular/issues/9651","id":229114025,"user":{"login":"jeffbcross","id":463703,"avatar_url":"https://avatars.githubusercontent.com/u/463703?v=3","gravatar_id":"","url":"https://api.github.com/users/jeffbcross","html_url":"https://github.com/jeffbcross","followers_url":"https://api.github.com/users/jeffbcross/followers","following_url":"https://api.github.com/users/jeffbcross/following{/other_user}","gists_url":"https://api.github.com/users/jeffbcross/gists{/gist_id}","starred_url":"https://api.github.com/users/jeffbcross/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeffbcross/subscriptions","organizations_url":"https://api.github.com/users/jeffbcross/orgs","repos_url":"https://api.github.com/users/jeffbcross/repos","events_url":"https://api.github.com/users/jeffbcross/events{/privacy}","received_events_url":"https://api.github.com/users/jeffbcross/received_events","type":"User","site_admin":false},"created_at":"2016-06-28T17:03:31Z","updated_at":"2016-06-28T17:03:31Z","body":"You know what... I totally spaced that this is something users construct themselves! Yes, DI makes no sense."}}
{"actor":{"display_login":"jeffbcross"}}