fromShelfRequest<R, Res extends BaseResponse> static method
Future<ShelfQueryRequest<R> >
fromShelfRequest<R, Res extends BaseResponse>(
- Request shelfRequest,
- HttpContract<
R, Res> contract
Implementation
static Future<ShelfQueryRequest<R>> fromShelfRequest<R, Res extends http.BaseResponse>(
Request shelfRequest,
HttpContract<R, Res> contract,
) async {
// Validate Headers
final headers = shelfRequest.headers;
if (contract.headers != null) {
contract.headers!.parse(headers);
}
// Validate Query
ObjectData<R>? queryData;
if (contract.query != null) {
final queryParams = shelfRequest.url.queryParameters;
final parsedQuery = contract.query!.parse(queryParams);
queryData = ObjectData<R>(parsedQuery as Map<String, dynamic>);
}
return ShelfQueryRequest<R>(
shelfRequest: shelfRequest,
query: queryData,
headers: headers,
);
}