{"action":"opened","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/go-endpoints/issues/74","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/go-endpoints/issues/74/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/go-endpoints/issues/74/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/go-endpoints/issues/74/events","html_url":"https://github.com/GoogleCloudPlatform/go-endpoints/issues/74","id":66534079,"number":74,"title":"The regexp curlyBrackets used for Duplicate method detection is greedy matching","user":{"login":"jonprice","id":5375754,"avatar_url":"https://avatars.githubusercontent.com/u/5375754?v=3","gravatar_id":"","url":"https://api.github.com/users/jonprice","html_url":"https://github.com/jonprice","followers_url":"https://api.github.com/users/jonprice/followers","following_url":"https://api.github.com/users/jonprice/following{/other_user}","gists_url":"https://api.github.com/users/jonprice/gists{/gist_id}","starred_url":"https://api.github.com/users/jonprice/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonprice/subscriptions","organizations_url":"https://api.github.com/users/jonprice/orgs","repos_url":"https://api.github.com/users/jonprice/repos","events_url":"https://api.github.com/users/jonprice/events{/privacy}","received_events_url":"https://api.github.com/users/jonprice/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-06T05:47:46Z","updated_at":"2015-04-06T05:47:46Z","closed_at":null,"body":"In the APIDescriptor function in apiconfig.go there is checking for duplicate methods. \r\n\r\nIf you have the following \r\n\r\n/object1/{id}\r\n\r\nand \r\n\r\n/object1/{id}/object2{id2}\r\n\r\nthe both get matched as the same thing because the curlyBrackets regex is greedy matching /object1/{id}/object2{id2} to /object1/{} instead of /object1/{}/object2{}  i.e.   .+ is matching to the text id}/object2{id2\r\n\r\n"}}