{"action":"created","issue":{"url":"https://api.github.com/repos/manastech/crystal/issues/1564","labels_url":"https://api.github.com/repos/manastech/crystal/issues/1564/labels{/name}","comments_url":"https://api.github.com/repos/manastech/crystal/issues/1564/comments","events_url":"https://api.github.com/repos/manastech/crystal/issues/1564/events","html_url":"https://github.com/manastech/crystal/pull/1564","id":107783131,"number":1564,"title":"[RFC: HTTP::Request] provide uri component accessors","user":{"login":"waterlink","id":609046,"avatar_url":"https://avatars.githubusercontent.com/u/609046?v=3","gravatar_id":"","url":"https://api.github.com/users/waterlink","html_url":"https://github.com/waterlink","followers_url":"https://api.github.com/users/waterlink/followers","following_url":"https://api.github.com/users/waterlink/following{/other_user}","gists_url":"https://api.github.com/users/waterlink/gists{/gist_id}","starred_url":"https://api.github.com/users/waterlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waterlink/subscriptions","organizations_url":"https://api.github.com/users/waterlink/orgs","repos_url":"https://api.github.com/users/waterlink/repos","events_url":"https://api.github.com/users/waterlink/events{/privacy}","received_events_url":"https://api.github.com/users/waterlink/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-22T19:24:40Z","updated_at":"2015-09-22T20:55:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/manastech/crystal/pulls/1564","html_url":"https://github.com/manastech/crystal/pull/1564","diff_url":"https://github.com/manastech/crystal/pull/1564.diff","patch_url":"https://github.com/manastech/crystal/pull/1564.patch"},"body":"Implements first option from this comment: https://github.com/manastech/crystal/pull/1505#issuecomment-141016552\r\n\r\nFor simplicity and smallest merge-able step, this does not implement any kind of smart wrapper over `#query`, instead it is just a string like all other components.\r\n\r\nWDYT? \r\n\r\n/cc @jhass @asterite @waj "},"comment":{"url":"https://api.github.com/repos/manastech/crystal/issues/comments/142418494","html_url":"https://github.com/manastech/crystal/pull/1564#issuecomment-142418494","issue_url":"https://api.github.com/repos/manastech/crystal/issues/1564","id":142418494,"user":{"login":"waterlink","id":609046,"avatar_url":"https://avatars.githubusercontent.com/u/609046?v=3","gravatar_id":"","url":"https://api.github.com/users/waterlink","html_url":"https://github.com/waterlink","followers_url":"https://api.github.com/users/waterlink/followers","following_url":"https://api.github.com/users/waterlink/following{/other_user}","gists_url":"https://api.github.com/users/waterlink/gists{/gist_id}","starred_url":"https://api.github.com/users/waterlink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/waterlink/subscriptions","organizations_url":"https://api.github.com/users/waterlink/orgs","repos_url":"https://api.github.com/users/waterlink/repos","events_url":"https://api.github.com/users/waterlink/events{/privacy}","received_events_url":"https://api.github.com/users/waterlink/received_events","type":"User","site_admin":false},"created_at":"2015-09-22T20:55:22Z","updated_at":"2015-09-22T20:55:22Z","body":"@asterite, \r\n\r\nI didn't have any use case in mind. But now I think about something like proxy? (accept request as a server, mutate it and send it to another server).\r\n\r\nI am actually happy to make it non-mutable (at least by obvious means), will simplify a lot of this PR, and for my purposes I would never even try to modify it.\r\n\r\nYou can always instantiate new request with adjusted attributes.\r\n\r\n@ysbaddaden,\r\n\r\nAgree, should delegate getters here. Everything can't be delegated, because of performance reasons - we don't want to parse `@resource` if `#uri` and derivatives never have been called."}}