serializeOptions static method
String
serializeOptions(
- CoapEndpointResource resource,
- Iterable<
CoapOption> ? query, { - required bool recursive,
Serialize options
Implementation
static String serializeOptions(
final CoapEndpointResource resource,
final Iterable<CoapOption>? query, {
required final bool recursive,
}) {
final linkFormat = StringBuffer();
// Skip hidden and empty root in recursive mode,
// always skip non-matching resources.
if ((!resource.hidden && resource.name.isNotEmpty || !recursive) &&
_matchesOption(resource, query)) {
linkFormat.write('<${resource.path}>');
// Reverse the attribute list to re-create the original
final attrs = resource.attributes.toList().reversed.toList();
for (final attr in attrs) {
linkFormat.write(separator);
attr.serialize(linkFormat);
}
}
if (recursive) {
for (final sub in resource.getSubResources()) {
final next = serializeOptions(sub, query, recursive: true);
if (next.isNotEmpty) {
if (linkFormat.length > 3) {
linkFormat.write(delimiter);
}
linkFormat.write(next);
}
}
}
return linkFormat.toString();
}