createJSONClient function
Prepare almost zero-config JSON client. This method
- parse CLI args
- execute HTTP request
- insert an interceptor for setting Accept and Content-Type header to application/json
- automarically print the response body if
printResponse
Implementation
Future<http.Response> createJSONClient(
List<String> args, {
required String baseURL,
List<http.Interceptor> interceptors = const [],
bool printResponse = true,
}) async {
final requestContext = http.RequestContext(
baseURL: baseURL,
interceptors: <http.Interceptor>[
injectHeadersForJsonRequest,
...interceptors,
],
);
final request = await buildRequestFromArgs(args);
final response = await requestContext.executeRequest(request);
if (printResponse) {
final responseBody = response.body;
if (responseBody != null) {
stdout.writeln(responseBody);
}
}
return response;
}