$getPreview_Request method
- @experimental
- String? file,
- int? x,
- int? y,
- PreviewGetPreviewA? a,
- PreviewGetPreviewForceIcon? forceIcon,
- String? mode,
- PreviewGetPreviewMimeFallback? mimeFallback,
Get a preview by file path.
Returns a DynamiteRequest
backing the getPreview operation.
Throws a DynamiteApiException
if the API call does not return an expected status code.
Parameters:
file
Path of the file. Defaults to""
.x
Width of the preview. Defaults to32
.y
Height of the preview. Defaults to32
.a
Whether to not crop the preview. Defaults to0
.forceIcon
Force returning an icon. Defaults to1
.mode
How to crop the image. Defaults to"fill"
.mimeFallback
Whether to fallback to the mime icon if no preview is available. Defaults to0
.
Status codes:
- 200: Preview returned
- 400: Getting preview is not possible
- 403: Getting preview is not allowed
- 404: Preview not found
- 303: Redirect to the mime icon url if mimeFallback is true
See:
- getPreview for a method executing this request and parsing the response.
- $getPreview_Serializer for a converter to parse the
Response
from an executed this request.
Implementation
@_i2.experimental
_i3.Request $getPreview_Request({
String? file,
int? x,
int? y,
PreviewGetPreviewA? a,
PreviewGetPreviewForceIcon? forceIcon,
String? mode,
PreviewGetPreviewMimeFallback? mimeFallback,
}) {
final _parameters = <String, Object?>{};
var __file = _$jsonSerializers.serialize(file, specifiedType: const FullType(String));
__file ??= '';
_parameters['file'] = __file;
var __x = _$jsonSerializers.serialize(x, specifiedType: const FullType(int));
__x ??= 32;
_parameters['x'] = __x;
var __y = _$jsonSerializers.serialize(y, specifiedType: const FullType(int));
__y ??= 32;
_parameters['y'] = __y;
var __a = _$jsonSerializers.serialize(a, specifiedType: const FullType(PreviewGetPreviewA));
__a ??= 0;
_parameters['a'] = __a;
var __forceIcon = _$jsonSerializers.serialize(forceIcon, specifiedType: const FullType(PreviewGetPreviewForceIcon));
__forceIcon ??= 1;
_parameters['forceIcon'] = __forceIcon;
var __mode = _$jsonSerializers.serialize(mode, specifiedType: const FullType(String));
__mode ??= 'fill';
_parameters['mode'] = __mode;
var __mimeFallback =
_$jsonSerializers.serialize(mimeFallback, specifiedType: const FullType(PreviewGetPreviewMimeFallback));
__mimeFallback ??= 0;
_parameters['mimeFallback'] = __mimeFallback;
final _path = _i6.UriTemplate('/index.php/core/preview.png{?file*,x*,y*,a*,forceIcon*,mode*,mimeFallback*}')
.expand(_parameters);
final _uri = Uri.parse('${_rootClient.baseURL}$_path');
final _request = _i3.Request('get', _uri);
_request.headers['Accept'] = '*/*';
// coverage:ignore-start
final authentication = _i4.IterableExtension(_rootClient.authentications)?.firstWhereOrNull(
(auth) => switch (auth) {
_i1.DynamiteHttpBearerAuthentication() || _i1.DynamiteHttpBasicAuthentication() => true,
_ => false,
},
);
if (authentication != null) {
_request.headers.addAll(
authentication.headers,
);
} else {
throw Exception('Missing authentication for bearer_auth or basic_auth');
}
// coverage:ignore-end
return _request;
}