ErrorCode::UNKNOWN_ERR, "Error getting server metadata",
("mc_client_get_server_metadata() error: %d, message: %s", ret, get_error_message(ret)));
}
-
SCOPE_EXIT {
mc_metadata_destroy(metadata_h);
};
- PlatformResult result = types::ConvertMetadata(metadata_h, metadata);
- if (!result) {
- return result;
+ // Native layer has changed behaviour and it allows returning null metadata if it is missing
+ // to keep backward compatibility, we just leave empty object and pass it to Javascript.
+ // This way if metadata will be not present, Web API will return object with all empty members.
+ if (metadata_h) {
+ PlatformResult result = types::ConvertMetadata(metadata_h, metadata);
+ if (!result) {
+ return result;
+ }
+ } else {
+ LoggerD("No metadata, returning empty object");
}
return PlatformResult(ErrorCode::NO_ERROR);