{"action":"opened","issue":{"url":"https://api.github.com/repos/rkitover/catalyst-plugin-smarturi/issues/1","labels_url":"https://api.github.com/repos/rkitover/catalyst-plugin-smarturi/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/rkitover/catalyst-plugin-smarturi/issues/1/comments","events_url":"https://api.github.com/repos/rkitover/catalyst-plugin-smarturi/issues/1/events","html_url":"https://github.com/rkitover/catalyst-plugin-smarturi/issues/1","id":107543764,"number":1,"title":"Infinite loop on empty app when using SmartURI","user":{"login":"dracos","id":154364,"avatar_url":"https://avatars.githubusercontent.com/u/154364?v=3","gravatar_id":"","url":"https://api.github.com/users/dracos","html_url":"https://github.com/dracos","followers_url":"https://api.github.com/users/dracos/followers","following_url":"https://api.github.com/users/dracos/following{/other_user}","gists_url":"https://api.github.com/users/dracos/gists{/gist_id}","starred_url":"https://api.github.com/users/dracos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dracos/subscriptions","organizations_url":"https://api.github.com/users/dracos/orgs","repos_url":"https://api.github.com/users/dracos/repos","events_url":"https://api.github.com/users/dracos/events{/privacy}","received_events_url":"https://api.github.com/users/dracos/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-09-21T15:57:39Z","updated_at":"2015-09-21T15:57:39Z","closed_at":null,"body":"If I create a brand new Catalyst app, then I get this:\r\n```\r\n$ perl -Ilib -e'use Testing::App; $c = new Testing::App; $c->request->path'\r\nCan't call method \"path\" on an undefined value at local/lib/perl5/Catalyst/Request.pm line 839.\r\n```\r\nWhich is expected, as I haven't supplied a request. If I then add SmartURI to my App.pm, I instead get:\r\n```\r\n$ perl -Ilib -e'use Testing::App; $c = new Testing::App; $c->request->path'\r\nDeep recursion on subroutine \"Catalyst::Request::path\" at local/lib/perl5/Catalyst/Request.pm line 414.\r\nDeep recursion on subroutine \"Catalyst::Request::base\" at local/lib/perl5/Catalyst/Request.pm line 840.\r\nDeep recursion on anonymous subroutine at accessor Catalyst::Request::base (defined at local/lib/perl5/Catalyst/Request.pm line 416) line 9.\r\n```\r\nThis is because `request->path` calls `request->uri` and then `request->base`, and `request->base` calls `request->path` if `request->uri` is set. With SmartURI, calling `request->uri` presumably auto-creates it, causing the infinite loop.\r\n\r\nNot sure if anything could/should be done, but thought I'd note it in case anyone else comes across the same thing."}}