Some checks failed
Security / Security check (push) Failing after 1s
Splits channel construction into two files selected at compile-time via `if (dart.library.html)`: channel_factory_io.dart — native ClientChannel (HTTP/2) channel_factory_web.dart — GrpcWebClientChannel.xhr (HTTP/1.1) HubClient._channel is now `ClientChannelBase` so both implementations satisfy the same field type. dart:html-only imports (`package:grpc/grpc_web.dart`) stay isolated from the native compile path. Pairs with the hub-side `fai_grpc_web` adapter crate (fai/platform 0d07892) — `tonic-web` on the same port as native gRPC, so one `fai serve` listener handles both surfaces. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
21 lines
655 B
Dart
21 lines
655 B
Dart
// Native channel factory — plain gRPC over HTTP/2.
|
|
// Selected on every non-web target (macOS, Linux, Windows, iOS,
|
|
// Android) via the conditional import in hub_client.dart.
|
|
|
|
import 'package:grpc/grpc.dart';
|
|
import 'package:grpc/grpc_connection_interface.dart';
|
|
|
|
import 'hub_client.dart' show HubEndpoint;
|
|
|
|
ClientChannelBase createChannel(HubEndpoint endpoint) {
|
|
return ClientChannel(
|
|
endpoint.host,
|
|
port: endpoint.port,
|
|
options: ChannelOptions(
|
|
credentials: endpoint.secure
|
|
? const ChannelCredentials.secure()
|
|
: const ChannelCredentials.insecure(),
|
|
idleTimeout: const Duration(minutes: 5),
|
|
),
|
|
);
|
|
}
|