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>
|
folly::Optional<FlipperCertificateExchangeMedium>
|
||||||
ConnectionContextStore::getLastKnownMedium() {
|
ConnectionContextStore::getLastKnownMedium() {
|
||||||
try {
|
try {
|
||||||
std::string config =
|
auto configurationFilePath = absoluteFilePath(CONNECTION_CONFIG_FILE);
|
||||||
loadStringFromFile(absoluteFilePath(CONNECTION_CONFIG_FILE));
|
if (!fileExists(configurationFilePath)) {
|
||||||
auto maybeMedium = folly::parseJson(config)["medium"];
|
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()
|
return maybeMedium.isInt()
|
||||||
? folly::Optional<FlipperCertificateExchangeMedium>{static_cast<
|
? folly::Optional<FlipperCertificateExchangeMedium>{static_cast<
|
||||||
FlipperCertificateExchangeMedium>(maybeMedium.getInt())}
|
FlipperCertificateExchangeMedium>(maybeMedium.getInt())}
|
||||||
|
|||||||
Reference in New Issue
Block a user