| 238 | self._routes = [] |
| 239 | |
| 240 | def add_route(self, method, handler, *, |
| 241 | expect_handler=None): |
| 242 | |
| 243 | for route in self._routes: |
| 244 | if route.method == method or route.method == hdrs.METH_ANY: |
| 245 | raise RuntimeError(class="st">"Added route will never be executed, " |
| 246 | class="st">"method {route.method} is " |
| 247 | class="st">"already registered".format(route=route)) |
| 248 | |
| 249 | route = ResourceRoute(method, handler, self, |
| 250 | expect_handler=expect_handler) |
| 251 | self.register_route(route) |
| 252 | return route |
| 253 | |
| 254 | def register_route(self, route): |
| 255 | assert isinstance(route, ResourceRoute), \ |