          # Determine any `@action` or `@link` decorated methods on the viewset
          dynamic_routes = []
          for methodname in dir(viewset):
              attr = getattr(viewset, methodname)
              httpmethod = getattr(attr, 'bind_to_method', None)
              if httpmethod:
                  dynamic_routes.append((httpmethod, methodname))
  
          ret = []
          for route in self.routes:
              if route.mapping == {'{httpmethod}': '{methodname}'}:
                  # Dynamic routes (@link or @action decorator)
 
</s> remove                 for httpmethod, methodname in dynamic_routes:
 </s> add                 for httpmethods, methodname in dynamic_routes: </s> remove                         mapping={httpmethod: methodname},
 </s> add                         mapping=dict((httpmethod, methodname) for httpmethod in httpmethods), </s> remove             if endpoint.startswith('action'):
                method_map = 'post'
 </s> add             if endpoint == 'action3':
                methods_map = ['post', 'delete']
            elif endpoint.startswith('action'):
                methods_map = ['post'] </s> remove         for i, endpoint in enumerate(['action1', 'action2', 'link1', 'link2']):
 </s> add         for i, endpoint in enumerate(['action1', 'action2', 'action3', 'link1', 'link2']): </s> remove                 method_map = 'get'
            self.assertEqual(route.mapping[method_map], endpoint)


 </s> add                 methods_map = ['get']
            for method in methods_map:
                self.assertEqual(route.mapping[method], endpoint)
            httpmethods = getattr(attr, 'bind_to_methods', None)
            if httpmethods:
                dynamic_routes.append((httpmethods, methodname))
          # Determine any `@action` or `@link` decorated methods on the viewset
          dynamic_routes = []
          for methodname in dir(viewset):
              attr = getattr(viewset, methodname)
            httpmethods = getattr(attr, 'bind_to_methods', None)
            if httpmethods:
                dynamic_routes.append((httpmethods, methodname))
            httpmethods = getattr(attr, 'bind_to_methods', None)
            if httpmethods:
                dynamic_routes.append((httpmethods, methodname))
            httpmethods = getattr(attr, 'bind_to_methods', None)
            if httpmethods:
                dynamic_routes.append((httpmethods, methodname))
  
          ret = []
          for route in self.routes:
              if route.mapping == {'{httpmethod}': '{methodname}'}:
                  # Dynamic routes (@link or @action decorator)
keep keep keep keep replace replace replace keep keep keep keep keep
 Allow action decorator to handle multiple http methods 
rest_framework/routers.py