get method

  1. @override
Future get(
  1. ApiRequest request
)
override

Implementation

@override
Future get(ApiRequest request) async {
  if (request.headers.containsKey(HttpHeaders.accept)) {
    if (request.headers[HttpHeaders.accept]!
        .contains(Mime.datahubResourceStream)) {
      final controller = ServerResourceStreamController(
        _resource
            .getStream(request)
            .shareValueSeeded(await _resource.get(request)),
        _removeController,
        uuid(),
        request.session?.expiration ?? Rx.never(),
      );
      _controllers.add(controller);
      _logService.verbose(
          'ResourceStream #${controller.id} started with resource path "${request.route.url}".');
      return ByteStreamResponse(
        controller.stream.transform(ResourceTransportWriteTransformer()),
        null,
      );
    }
  }

  return await _resource.get(request);
}