Map<String, dynamic> json() { try { return jsonDecode(body); } catch (e) { throw FormatException("Body contents must be json serializable"); } }