[current results] Add support for secure connection from command-line client
Change-Id: Ie9dd90c6f8c373da6d81ec1702464ba2b5f8f557
Reviewed-on: https://dart-review.googlesource.com/c/dart_ci/+/163920
Reviewed-by: Alexander Thomas <athom@google.com>
diff --git a/current_results/bin/client.dart b/current_results/bin/client.dart
index 5f7fb2c..3140bed 100644
--- a/current_results/bin/client.dart
+++ b/current_results/bin/client.dart
@@ -16,19 +16,23 @@
..addCommand(FetchCommand())
..argParser.addOption('host', help: 'current results server to query')
..argParser
- .addOption('port', abbr: 'p', help: 'port of current results server');
+ .addOption('port', abbr: 'p', help: 'port of current results server')
+ ..argParser.addFlag('insecure', help: 'connect over insecure http');
await runner.run(args);
}
abstract class gRpcCommand extends Command {
- Future<void> runWithChannel(ClientChannel channel);
+ Future<void> runWithClient(QueryClient client);
Future<void> run() async {
final channel = ClientChannel(globalResults['host'],
port: int.parse(globalResults['port']),
- options:
- const ChannelOptions(credentials: ChannelCredentials.insecure()));
+ options: globalResults['insecure'] == true
+ ? const ChannelOptions(credentials: ChannelCredentials.insecure())
+ : const ChannelOptions(credentials: ChannelCredentials.secure()));
+
+ final client = QueryClient(channel);
try {
- await runWithChannel(channel);
+ await runWithClient(client);
} finally {
await channel.shutdown();
}
@@ -48,7 +52,7 @@
String get name => 'getResults';
String get description => 'Send a GetResults gRPC request to the server';
- Future<void> runWithChannel(ClientChannel channel) async {
+ Future<void> runWithClient(QueryClient client) async {
final request = GetResultsRequest();
request.filter = argResults['filter'] ?? '';
if (argResults['limit'] != null) {
@@ -58,7 +62,7 @@
request.pageToken = argResults['page'];
}
- final result = await QueryClient(channel).getResults(request);
+ final result = await client.getResults(request);
print(result.toProto3Json());
}
}
@@ -75,11 +79,11 @@
String get name => 'listTests';
String get description => 'Send a ListTests gRPC request to the server';
- Future<void> runWithChannel(ClientChannel channel) async {
+ Future<void> runWithClient(QueryClient client) async {
final query = ListTestsRequest()
..prefix = argResults['prefix']
..limit = int.parse(argResults['limit']);
- final result = await QueryClient(channel).listTests(query);
+ final result = await client.listTests(query);
print(result.toProto3Json());
}
}
@@ -88,8 +92,8 @@
String get name => 'fetch';
String get description => 'Send a Fetch gRPC request to the server';
- Future<void> runWithChannel(ClientChannel channel) async {
- final result = await QueryClient(channel).fetch(Empty());
+ Future<void> runWithClient(QueryClient client) async {
+ final result = await client.fetch(Empty());
print(result.toProto3Json());
}
}
diff --git a/current_results/bin/server.dart b/current_results/bin/server.dart
index ad0e0f9..0869124 100644
--- a/current_results/bin/server.dart
+++ b/current_results/bin/server.dart
@@ -21,7 +21,7 @@
await bucket.initialize();
await notifications.initialize();
await loadData();
- var port = int.tryParse(Platform.environment['PORT'] ?? '8081');
+ var port = int.tryParse(Platform.environment['PORT'] ?? '8080');
await grpcServer.serve(port: port);
print('Grpc serving on port ${grpcServer.port}');
}