def Handle(self, unused_args, token=None): router_methods = self.router.__class__.GetAnnotatedMethods() result = ApiListApiMethodsResult() for router_method in router_methods.values(): api_method = ApiMethod( name=router_method.name, category=router_method.category, doc=router_method.doc, http_route=router_method.http_methods[-1][1], http_methods=[router_method.http_methods[-1][0]]) if router_method.args_type: api_method.args_type_descriptor = ( api_value_renderers.BuildTypeDescriptor(router_method.args_type)) if router_method.result_type: if router_method.result_type == router_method.BINARY_STREAM_RESULT_TYPE: api_method.result_kind = api_method.ResultKind.BINARY_STREAM else: api_method.result_kind = api_method.ResultKind.VALUE api_method.result_type_descriptor = ( api_value_renderers.BuildTypeDescriptor(router_method.result_type) ) else: api_method.result_kind = api_method.ResultKind.NONE result.items.append(api_method) return result
def Handle(self, unused_args, token=None): result = ApiListRDFValueDescriptorsResult() all_types = _GetAllTypes() for cls_name in sorted(all_types): cls = all_types[cls_name] result.items.append(api_value_renderers.BuildTypeDescriptor(cls)) return result
def Handle(self, args, token=None): _ = token rdfvalue_class = _GetAllTypes()[args.type] return api_value_renderers.BuildTypeDescriptor(rdfvalue_class)