Adds GrpcDiscoveryClient for enumerating gRPC services via server reflection. Includes: - GrpcDiscoveryClient class with listServices(), discoverAllServices() methods - Support for getting file descriptors for symbols and filenames - DiscoveredService and DiscoveredMethod data classes - Custom exceptions (ReflectionException, ConnectionException) - Generated proto files for gRPC reflection (fixed for protobuf 6.0.0) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
2.0 KiB
Dart
65 lines
2.0 KiB
Dart
// Generated code - do not modify
|
|
// ignore_for_file: annotate_overrides, camel_case_types, library_prefixes
|
|
// ignore_for_file: use_super_parameters, unused_import
|
|
// Based on grpc.reflection.v1alpha.reflection.proto
|
|
|
|
import 'dart:async' as $async;
|
|
import 'dart:core' as $core;
|
|
|
|
import 'package:grpc/grpc.dart' as $grpc;
|
|
|
|
import 'reflection.pb.dart' as $0;
|
|
|
|
export 'reflection.pb.dart';
|
|
|
|
class ServerReflectionClient extends $grpc.Client {
|
|
static final _$serverReflectionInfo =
|
|
$grpc.ClientMethod<$0.ServerReflectionRequest, $0.ServerReflectionResponse>(
|
|
'/grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo',
|
|
($0.ServerReflectionRequest value) => value.writeToBuffer(),
|
|
($core.List<$core.int> value) => $0.ServerReflectionResponse.fromBuffer(value),
|
|
);
|
|
|
|
ServerReflectionClient(
|
|
$grpc.ClientChannel channel, {
|
|
$grpc.CallOptions? options,
|
|
$core.Iterable<$grpc.ClientInterceptor>? interceptors,
|
|
}) : super(
|
|
channel,
|
|
options: options,
|
|
interceptors: interceptors,
|
|
);
|
|
|
|
$grpc.ResponseStream<$0.ServerReflectionResponse> serverReflectionInfo(
|
|
$async.Stream<$0.ServerReflectionRequest> request, {
|
|
$grpc.CallOptions? options,
|
|
}) {
|
|
return $createStreamingCall(
|
|
_$serverReflectionInfo,
|
|
request,
|
|
options: options,
|
|
);
|
|
}
|
|
}
|
|
|
|
abstract class ServerReflectionServiceBase extends $grpc.Service {
|
|
@$core.override
|
|
$core.String get $name => 'grpc.reflection.v1alpha.ServerReflection';
|
|
|
|
ServerReflectionServiceBase() {
|
|
$addMethod($grpc.ServiceMethod<$0.ServerReflectionRequest, $0.ServerReflectionResponse>(
|
|
'ServerReflectionInfo',
|
|
serverReflectionInfo,
|
|
true,
|
|
true,
|
|
($core.List<$core.int> value) => $0.ServerReflectionRequest.fromBuffer(value),
|
|
($0.ServerReflectionResponse value) => value.writeToBuffer(),
|
|
));
|
|
}
|
|
|
|
$async.Stream<$0.ServerReflectionResponse> serverReflectionInfo(
|
|
$grpc.ServiceCall call,
|
|
$async.Stream<$0.ServerReflectionRequest> request,
|
|
);
|
|
}
|