getBytes method

  1. @protected
Future<BytesResponse> getBytes({
  1. required RequestBase request,
  2. Options? options,
  3. bool cancelOnDispose = true,
  4. int expectedStatusCode = 200,
  5. bool allowCache = true,
})

Get bytes from an api. The query parameters are extracted from request Optionally you can specify options to pass to Dio cancelOnDispose lets you cancel the request if this service is disposed expectedStatusCode to check the result of the request set allowCache to true to skip the expectedStatusCode check when the response is a cached one (HTTP code 304)

Implementation

@protected
Future<BytesResponse> getBytes({
  required RequestBase request,
  Options? options,
  bool cancelOnDispose = true,
  int expectedStatusCode = 200,
  bool allowCache = true,
}) async {
  final performer = () => dioInstance.get<List<int>>(
        request.endpoint,
        queryParameters: request.toJson(),
        options: options?.copyWith(responseType: ResponseType.bytes) ??
            Options(responseType: ResponseType.bytes),
        cancelToken: cancelOnDispose ? getNextToken() : null,
      );
  return _perform(
    performer,
    null,
    (data, _) => BytesResponse(data),
    expectedStatusCode,
    allowCache,
  );
}