HTTP-Upload: parsing max-file-size attribute (#809)
When a server returns multiple <x/> elements in response to a discinfo query, this change uses all of them instead of just the first one.
This commit is contained in:
parent
13d3d2aca6
commit
fcad6720e6
|
@ -154,7 +154,8 @@ public class Module : XmppStreamModule {
|
||||||
|
|
||||||
private long extract_max_file_size(Xep.ServiceDiscovery.InfoResult info_result) {
|
private long extract_max_file_size(Xep.ServiceDiscovery.InfoResult info_result) {
|
||||||
string? max_file_size_str = null;
|
string? max_file_size_str = null;
|
||||||
StanzaNode x_node = info_result.iq.stanza.get_deep_subnode("http://jabber.org/protocol/disco#info:query", "jabber:x:data:x");
|
Gee.List<StanzaNode> x_nodes = info_result.iq.stanza.get_deep_subnodes("http://jabber.org/protocol/disco#info:query", "jabber:x:data:x");
|
||||||
|
foreach(StanzaNode x_node in x_nodes) {
|
||||||
Gee.List<StanzaNode> field_nodes = x_node.get_subnodes("field", "jabber:x:data");
|
Gee.List<StanzaNode> field_nodes = x_node.get_subnodes("field", "jabber:x:data");
|
||||||
foreach (StanzaNode node in field_nodes) {
|
foreach (StanzaNode node in field_nodes) {
|
||||||
string? var_attr = node.get_attribute("var");
|
string? var_attr = node.get_attribute("var");
|
||||||
|
@ -164,6 +165,7 @@ public class Module : XmppStreamModule {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (max_file_size_str != null) return long.parse(max_file_size_str);
|
if (max_file_size_str != null) return long.parse(max_file_size_str);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue