getWStatusGetResponse method
Implementation
Future<String> getWStatusGetResponse() async {
DnaIdentityRequest dnaIdentityRequest;
Map<String, dynamic> mapParams;
Completer<String> _completer = new Completer<String>();
if (this.nodeType == DEMO_NODE) {
_completer.complete("true");
return _completer.future;
}
mapParams = {
'method': DnaIdentityRequest.METHOD_NAME,
'params': [],
'id': 101,
'key': this.keyApp
};
try {
if (this.nodeType == NORMAL_VPS_NODE) {
SSHClientStatus sshClientStatus;
sshClientStatus = await VpsUtil().connectVps(this.apiUrl, keyApp);
if (sshClientStatus.sshClientStatus) {
sshClient = sshClientStatus.sshClient;
} else {
_completer.complete(sshClientStatus.sshClientStatusMsg);
return _completer.future;
}
var response = await ssh.HttpClientImpl(
clientFactory: () =>
ssh.SSHTunneledBaseClient(sshClientStatus.sshClient)).request(
this.apiUrl,
method: 'POST',
data: jsonEncode(mapParams),
headers: requestHeaders);
if (response.status == 200) {
DnaIdentityResponse dnaIdentityResponse =
dnaIdentityResponseFromJson(response.text);
if (dnaIdentityResponse.result == null) {
if (dnaIdentityResponse.error == null) {
_completer.complete(response.text);
} else {
_completer.complete(dnaIdentityResponse.error.message);
}
} else {
_completer.complete("true");
}
}
} else {
dnaIdentityRequest = DnaIdentityRequest.fromJson(mapParams);
String body = json.encode(dnaIdentityRequest.toJson());
http.Response responseHttp = await http
.post(Uri.parse(this.apiUrl), body: body, headers: requestHeaders)
.timeout(Duration(seconds: 2));
if (responseHttp.statusCode == 200) {
DnaIdentityResponse dnaIdentityResponse =
dnaIdentityResponseFromJson(responseHttp.body);
if (dnaIdentityResponse.result == null) {
if (dnaIdentityResponse.error == null) {
_completer.complete(responseHttp.body);
} else {
_completer.complete(dnaIdentityResponse.error.message);
}
} else {
_completer.complete("true");
}
}
}
} catch (e) {
_completer.complete(e.toString());
}
return _completer.future;
}