toRequestType<RequestType> function

Future<RequestType> toRequestType<RequestType>(
  1. Request request,
  2. RequestType fromJson(
    1. Map<String, dynamic> json
    )
)

Implementation

Future<RequestType> toRequestType<RequestType>(
  Request request,
  RequestType Function(Map<String, dynamic> json) fromJson,
) async {
  final type = mediaTypeFromRequest(request);
  mustBeJson(type);
  final jsonObject = await decodeJson(request);
  if ((jsonObject is! Map<String, dynamic>?) || jsonObject == null) {
    throw BadRequestException(400, 'Expected a JSON object');
  }
  try {
    return fromJson(jsonObject);
  } catch (e, st) {
    throw BadRequestException(
      400,
      'Error parsing json object',
      innerError: e,
      innerStack: st,
    );
  }
}