Add request to ErrorResponse class
This commit is contained in:
parent
1962897ddb
commit
8983cb3138
|
@ -182,7 +182,7 @@ class Connection {
|
||||||
if (client.isLogged())
|
if (client.isLogged())
|
||||||
headers["Authorization"] = "Bearer ${client.accessToken}";
|
headers["Authorization"] = "Bearer ${client.accessToken}";
|
||||||
|
|
||||||
var resp;
|
http.Response resp;
|
||||||
try {
|
try {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case "GET":
|
case "GET":
|
||||||
|
@ -207,11 +207,12 @@ class Connection {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} on TimeoutException catch (_) {
|
} on TimeoutException catch (_) {
|
||||||
|
|
||||||
return ErrorResponse(
|
return ErrorResponse(
|
||||||
error: "No connection possible...", errcode: "TIMEOUT");
|
error: "No connection possible...", errcode: "TIMEOUT", request: resp.request);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return ErrorResponse(
|
return ErrorResponse(
|
||||||
error: "No connection possible...", errcode: "NO_CONNECTION");
|
error: "No connection possible...", errcode: "NO_CONNECTION", request: resp.request);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> jsonResp;
|
Map<String, dynamic> jsonResp;
|
||||||
|
@ -219,11 +220,11 @@ class Connection {
|
||||||
jsonResp = jsonDecode(resp.body) as Map<String, dynamic>;
|
jsonResp = jsonDecode(resp.body) as Map<String, dynamic>;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return ErrorResponse(
|
return ErrorResponse(
|
||||||
error: "No connection possible...", errcode: "MALFORMED");
|
error: "No connection possible...", errcode: "MALFORMED", request: resp.request);
|
||||||
}
|
}
|
||||||
if (jsonResp.containsKey("errcode") && jsonResp["errcode"] is String) {
|
if (jsonResp.containsKey("errcode") && jsonResp["errcode"] is String) {
|
||||||
if (jsonResp["errcode"] == "M_UNKNOWN_TOKEN") clear();
|
if (jsonResp["errcode"] == "M_UNKNOWN_TOKEN") clear();
|
||||||
return ErrorResponse.fromJson(jsonResp);
|
return ErrorResponse.fromJson(jsonResp, resp.request);
|
||||||
}
|
}
|
||||||
|
|
||||||
return jsonResp;
|
return jsonResp;
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
* along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
* along with Foobar. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import 'package:http/http.dart' as http;
|
||||||
|
|
||||||
/// Represents a special response from the Homeserver for errors.
|
/// Represents a special response from the Homeserver for errors.
|
||||||
class ErrorResponse {
|
class ErrorResponse {
|
||||||
|
|
||||||
|
@ -30,11 +32,15 @@ class ErrorResponse {
|
||||||
/// A human readable error description.
|
/// A human readable error description.
|
||||||
String error;
|
String error;
|
||||||
|
|
||||||
ErrorResponse({this.errcode, this.error});
|
/// The frozen request which triggered this Error
|
||||||
|
http.Request request;
|
||||||
|
|
||||||
ErrorResponse.fromJson(Map<String, dynamic> json) {
|
ErrorResponse({this.errcode, this.error, this.request});
|
||||||
|
|
||||||
|
ErrorResponse.fromJson(Map<String, dynamic> json, http.Request newRequest) {
|
||||||
errcode = json['errcode'];
|
errcode = json['errcode'];
|
||||||
error = json['error'] ?? "";
|
error = json['error'] ?? "";
|
||||||
|
request = newRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
|
|
Loading…
Reference in a new issue