{"action":"created","issue":{"url":"https://api.github.com/repos/yahoo/pulsar/issues/148","repository_url":"https://api.github.com/repos/yahoo/pulsar","labels_url":"https://api.github.com/repos/yahoo/pulsar/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/yahoo/pulsar/issues/148/comments","events_url":"https://api.github.com/repos/yahoo/pulsar/issues/148/events","html_url":"https://github.com/yahoo/pulsar/pull/148","id":196184849,"number":148,"title":"Support url/uri encoding of topic-name for http-request","user":{"login":"rdhabalia","id":2898254,"avatar_url":"https://avatars.githubusercontent.com/u/2898254?v=3","gravatar_id":"","url":"https://api.github.com/users/rdhabalia","html_url":"https://github.com/rdhabalia","followers_url":"https://api.github.com/users/rdhabalia/followers","following_url":"https://api.github.com/users/rdhabalia/following{/other_user}","gists_url":"https://api.github.com/users/rdhabalia/gists{/gist_id}","starred_url":"https://api.github.com/users/rdhabalia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rdhabalia/subscriptions","organizations_url":"https://api.github.com/users/rdhabalia/orgs","repos_url":"https://api.github.com/users/rdhabalia/repos","events_url":"https://api.github.com/users/rdhabalia/events{/privacy}","received_events_url":"https://api.github.com/users/rdhabalia/received_events","type":"User","site_admin":false},"labels":[{"id":399568951,"url":"https://api.github.com/repos/yahoo/pulsar/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"rdhabalia","id":2898254,"avatar_url":"https://avatars.githubusercontent.com/u/2898254?v=3","gravatar_id":"","url":"https://api.github.com/users/rdhabalia","html_url":"https://github.com/rdhabalia","followers_url":"https://api.github.com/users/rdhabalia/followers","following_url":"https://api.github.com/users/rdhabalia/following{/other_user}","gists_url":"https://api.github.com/users/rdhabalia/gists{/gist_id}","starred_url":"https://api.github.com/users/rdhabalia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rdhabalia/subscriptions","organizations_url":"https://api.github.com/users/rdhabalia/orgs","repos_url":"https://api.github.com/users/rdhabalia/repos","events_url":"https://api.github.com/users/rdhabalia/events{/privacy}","received_events_url":"https://api.github.com/users/rdhabalia/received_events","type":"User","site_admin":false},"assignees":[{"login":"rdhabalia","id":2898254,"avatar_url":"https://avatars.githubusercontent.com/u/2898254?v=3","gravatar_id":"","url":"https://api.github.com/users/rdhabalia","html_url":"https://github.com/rdhabalia","followers_url":"https://api.github.com/users/rdhabalia/followers","following_url":"https://api.github.com/users/rdhabalia/following{/other_user}","gists_url":"https://api.github.com/users/rdhabalia/gists{/gist_id}","starred_url":"https://api.github.com/users/rdhabalia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rdhabalia/subscriptions","organizations_url":"https://api.github.com/users/rdhabalia/orgs","repos_url":"https://api.github.com/users/rdhabalia/repos","events_url":"https://api.github.com/users/rdhabalia/events{/privacy}","received_events_url":"https://api.github.com/users/rdhabalia/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/yahoo/pulsar/milestones/2","html_url":"https://github.com/yahoo/pulsar/milestone/2","labels_url":"https://api.github.com/repos/yahoo/pulsar/milestones/2/labels","id":2056012,"number":2,"title":"1.16","description":"","creator":{"login":"merlimat","id":62500,"avatar_url":"https://avatars.githubusercontent.com/u/62500?v=3","gravatar_id":"","url":"https://api.github.com/users/merlimat","html_url":"https://github.com/merlimat","followers_url":"https://api.github.com/users/merlimat/followers","following_url":"https://api.github.com/users/merlimat/following{/other_user}","gists_url":"https://api.github.com/users/merlimat/gists{/gist_id}","starred_url":"https://api.github.com/users/merlimat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/merlimat/subscriptions","organizations_url":"https://api.github.com/users/merlimat/orgs","repos_url":"https://api.github.com/users/merlimat/repos","events_url":"https://api.github.com/users/merlimat/events{/privacy}","received_events_url":"https://api.github.com/users/merlimat/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":50,"state":"open","created_at":"2016-10-07T23:59:26Z","updated_at":"2016-12-19T20:26:50Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2016-12-17T00:51:14Z","updated_at":"2016-12-20T01:36:30Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/yahoo/pulsar/pulls/148","html_url":"https://github.com/yahoo/pulsar/pull/148","diff_url":"https://github.com/yahoo/pulsar/pull/148.diff","patch_url":"https://github.com/yahoo/pulsar/pull/148.patch"},"body":"### Motivation\r\n\r\nBroker has lookup and admin REST-api on top of JAX-RS which doesn't follow urlencoding spec while decoding query-param.\r\n```application/x-www-form-urlencoded uses + and properly encoded URIs use %20```. So, if client sends request with url-encoded query-param (topicName) then broker may not decode it properly due to jax-rs limitation. Therefore, broker should use url-decoder which can handle decoding properly. ( both ```+``` and ``` %20``` can be decoded into space)\r\n\r\n### Modifications\r\n\r\nTake encoded topic-name query-param from the http-request and decodes it using url-encoder.\r\n\r\n### Result\r\n\r\nBroker can support both url/uri encoded topic-name request (lookup and admin rest-api).\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/yahoo/pulsar/issues/comments/268129360","html_url":"https://github.com/yahoo/pulsar/pull/148#issuecomment-268129360","issue_url":"https://api.github.com/repos/yahoo/pulsar/issues/148","id":268129360,"user":{"login":"yahoocla","id":6155154,"avatar_url":"https://avatars.githubusercontent.com/u/6155154?v=3","gravatar_id":"","url":"https://api.github.com/users/yahoocla","html_url":"https://github.com/yahoocla","followers_url":"https://api.github.com/users/yahoocla/followers","following_url":"https://api.github.com/users/yahoocla/following{/other_user}","gists_url":"https://api.github.com/users/yahoocla/gists{/gist_id}","starred_url":"https://api.github.com/users/yahoocla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yahoocla/subscriptions","organizations_url":"https://api.github.com/users/yahoocla/orgs","repos_url":"https://api.github.com/users/yahoocla/repos","events_url":"https://api.github.com/users/yahoocla/events{/privacy}","received_events_url":"https://api.github.com/users/yahoocla/received_events","type":"User","site_admin":false},"created_at":"2016-12-20T01:36:30Z","updated_at":"2016-12-20T01:36:30Z","body":"CLA is valid!"}}
{"actor":{"display_login":"yahoocla"}}