{"action":"created","issue":{"url":"https://api.github.com/repos/labstack/echo/issues/205","labels_url":"https://api.github.com/repos/labstack/echo/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/labstack/echo/issues/205/comments","events_url":"https://api.github.com/repos/labstack/echo/issues/205/events","html_url":"https://github.com/labstack/echo/pull/205","id":106466239,"number":205,"title":"RFC 2616 10.4.6 Compliance - Method Not Allowed On Resources Method isn't Specified","user":{"login":"husobee","id":5150259,"avatar_url":"https://avatars.githubusercontent.com/u/5150259?v=3","gravatar_id":"","url":"https://api.github.com/users/husobee","html_url":"https://github.com/husobee","followers_url":"https://api.github.com/users/husobee/followers","following_url":"https://api.github.com/users/husobee/following{/other_user}","gists_url":"https://api.github.com/users/husobee/gists{/gist_id}","starred_url":"https://api.github.com/users/husobee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/husobee/subscriptions","organizations_url":"https://api.github.com/users/husobee/orgs","repos_url":"https://api.github.com/users/husobee/repos","events_url":"https://api.github.com/users/husobee/events{/privacy}","received_events_url":"https://api.github.com/users/husobee/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-09-15T02:47:11Z","updated_at":"2015-09-18T23:54:15Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/labstack/echo/pulls/205","html_url":"https://github.com/labstack/echo/pull/205","diff_url":"https://github.com/labstack/echo/pull/205.diff","patch_url":"https://github.com/labstack/echo/pull/205.patch"},"body":"I noticed this issue when trying to access methods of a resource that are not allowed.  I have drastically simplified the router code to accommodate RFC compliance by removing the individual Method based tree structures in the router.  At most the gains IMO are negligible in splitting up the resource url route trees, and the complexity causes confusion.  Moreover, if you are looking to implement new methods, this structure will allow that more easily.  In this commit I did the following: \r\n\r\nAdded methodNotAllowedHandler helper, altered router to comply with RFC2616 10.4.6, Method Not Allowed, when trying to access a method on a Resource, where that method is not specified by the application. Altered router to comply with RFC2626 14.7 Allow Header on 405 Status Responses.\r\n\r\nIssue Submitted for this Pull Request: https://github.com/labstack/echo/issues/204\r\n\r\nI look forward to hearing from you about this suggestion!"},"comment":{"url":"https://api.github.com/repos/labstack/echo/issues/comments/141597575","html_url":"https://github.com/labstack/echo/pull/205#issuecomment-141597575","issue_url":"https://api.github.com/repos/labstack/echo/issues/205","id":141597575,"user":{"login":"husobee","id":5150259,"avatar_url":"https://avatars.githubusercontent.com/u/5150259?v=3","gravatar_id":"","url":"https://api.github.com/users/husobee","html_url":"https://github.com/husobee","followers_url":"https://api.github.com/users/husobee/followers","following_url":"https://api.github.com/users/husobee/following{/other_user}","gists_url":"https://api.github.com/users/husobee/gists{/gist_id}","starred_url":"https://api.github.com/users/husobee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/husobee/subscriptions","organizations_url":"https://api.github.com/users/husobee/orgs","repos_url":"https://api.github.com/users/husobee/repos","events_url":"https://api.github.com/users/husobee/events{/privacy}","received_events_url":"https://api.github.com/users/husobee/received_events","type":"User","site_admin":false},"created_at":"2015-09-18T23:54:15Z","updated_at":"2015-09-18T23:54:15Z","body":"Will continue to investigate ways to lower this back down.  Have a few more ideas."}}