$getImage_Request method

  1. @experimental
Request $getImage_Request({
  1. required String id,
  2. GetImageSize? size,
})

Get the main image of a recipe. If no image is stored a fallback image is delivered.

Returns a DynamiteRequest backing the getImage operation. Throws a DynamiteApiException if the API call does not return an expected status code.

Parameters:

  • id The id of the recipe to obtain the image for.
  • size The size of the requested image.
  • full - Full resolution image (size full res) * thumb - thumbnail of the image (size 250px) * thumb16 - icon of the image (size 16px). by default the full size image will be returned.

Status codes:

  • 200: Image was obtained and will be in response either as image/jpeg or image/svg+xml
  • 406: The recipe has no image whose MIME type matches the Accept header

See:

  • getImage for a method executing this request and parsing the response.
  • $getImage_Serializer for a converter to parse the Response from an executed this request.

Implementation

@_i2.experimental
_i3.Request $getImage_Request({
  required String id,
  GetImageSize? size,
}) {
  final _parameters = <String, Object?>{};
  final __id = _$jsonSerializers.serialize(id, specifiedType: const FullType(String));
  _parameters['id'] = __id;

  final __size = _$jsonSerializers.serialize(size, specifiedType: const FullType(GetImageSize));
  _parameters['size'] = __size;

  final _path = _i5.UriTemplate('/index.php/apps/cookbook/api/v1/recipes/{id}/image{?size*}').expand(_parameters);
  final _uri = Uri.parse('${_rootClient.baseURL}$_path');
  final _request = _i3.Request('get', _uri);
  _request.headers['Accept'] = 'image/jpeg,image/svg+xml';
// coverage:ignore-start
  final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull(
    (auth) => switch (auth) {
      _i1.DynamiteHttpBasicAuthentication() => true,
      _ => false,
    },
  );

  if (authentication != null) {
    _request.headers.addAll(
      authentication.headers,
    );
  } else {
    throw Exception('Missing authentication for app_password');
  }

// coverage:ignore-end
  return _request;
}