Add a bit of defence checks as to minimise exception likelihood when no medium is known
Summary: ^ Changelog: Minimises the probability of throwing an exception if no exchange medium is known Reviewed By: passy Differential Revision: D33620655 fbshipit-source-id: e03e7fed0607c376add218ee98dcd2bd0f8880f1
This commit is contained in:
committed by
Facebook GitHub Bot
parent
434ee17975
commit
7579b81b97
@@ -114,9 +114,16 @@ std::string ConnectionContextStore::getDeviceId() {
|
||||
folly::Optional<FlipperCertificateExchangeMedium>
|
||||
ConnectionContextStore::getLastKnownMedium() {
|
||||
try {
|
||||
std::string config =
|
||||
loadStringFromFile(absoluteFilePath(CONNECTION_CONFIG_FILE));
|
||||
auto maybeMedium = folly::parseJson(config)["medium"];
|
||||
auto configurationFilePath = absoluteFilePath(CONNECTION_CONFIG_FILE);
|
||||
if (!fileExists(configurationFilePath)) {
|
||||
return folly::none;
|
||||
}
|
||||
std::string data = loadStringFromFile(configurationFilePath);
|
||||
auto config = folly::parseJson(data);
|
||||
if (config.count("medium") == 0) {
|
||||
return folly::none;
|
||||
}
|
||||
auto maybeMedium = config["medium"];
|
||||
return maybeMedium.isInt()
|
||||
? folly::Optional<FlipperCertificateExchangeMedium>{static_cast<
|
||||
FlipperCertificateExchangeMedium>(maybeMedium.getInt())}
|
||||
|
||||
Reference in New Issue
Block a user