add error handling for addRequest
Change-Id: I46dfef76735f14abc1dc8d0a1d618a1963d4f8a0
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index f674482..802049a 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -328,7 +328,13 @@
std::string requestId = std::to_string(random::generateWord64());
CaState requestState(m_config.m_caItem.m_caPrefix, requestId, requestType, Status::BEFORE_CHALLENGE, *clientCert,
makeBinaryBlock(tlv::ContentType_Key, aesKey, sizeof(aesKey)));
- m_storage->addRequest(requestState);
+ try {
+ m_storage->addRequest(requestState);
+ }
+ catch (const std::runtime_error& e) {
+ requestId = std::to_string(random::generateWord64());
+ m_storage->addRequest(requestState);
+ }
Data result;
result.setName(request.getName());
result.setFreshnessPeriod(DEFAULT_DATA_FRESHNESS_PERIOD);