cancelBuild method
Cancels build by is buildId
. Returns HTTP 208 if build already cancelled
Implementation
Future<ApiResponse<CancelBuildResponse>> cancelBuild(String buildId) async {
try {
final request =
await _client.postUrl(Uri.parse("$apiUrl/builds/$buildId/cancel"));
request.headers.add(HttpHeaders.authorizationHeader, 'Bearer $authKey');
request.headers.contentType = ContentType(
"application",
"json",
charset: "utf-8",
);
final response = await request.close();
if (response.statusCode == HttpStatus.ok ||
response.statusCode == HttpStatus.alreadyReported) {
final data = await utf8.decoder.bind(response).join();
final json = jsonDecode(data);
final builds = CancelBuildResponse.fromJson(json);
return ApiResponse(wasSuccessful: true, data: builds);
}
return ApiResponse(
wasSuccessful: false,
error: 'Response code was ${response.statusCode}',
);
} catch (e) {
print(e);
return ApiResponse(wasSuccessful: false, error: 'Unknown error');
}
}