in ProcessManager/CacheManager/CacheConnectorGet.cs [27:73]
public static async Task<IActionResult> Run([HttpTrigger(AuthorizationLevel.Function, "get", Route = null)]HttpRequest req, ILogger logger)
{
IDatabase db = null;
AppInsightsLogger appInsightsLogger = new AppInsightsLogger(logger, LOGGING_SERVICE_NAME, LOGGING_SERVICE_VERSION);
string uuid = "nil";
var apiParams = req.GetQueryParameterDictionary();
if (apiParams != null && apiParams.Keys.Contains(UUID_KEYNAME))
{
uuid = apiParams[UUID_KEYNAME];
}
else
{
appInsightsLogger.LogWarning("Called without a taskId", URL);
}
try
{
db = RedisConnection.GetDatabase();
}
catch (Exception ex)
{
appInsightsLogger.LogError(ex, URL, uuid);
return new StatusCodeResult(500);
}
RedisValue storedStatus = RedisValue.Null;
try
{
storedStatus = await db.StringGetAsync(uuid);
if (storedStatus.HasValue)
{
return new OkObjectResult(storedStatus.ToString());
}
else
{
appInsightsLogger.LogWarning("Cannot find status in cache", URL, uuid);
return new StatusCodeResult(204);
}
}
catch (Exception ex)
{
appInsightsLogger.LogError(ex, URL, uuid);
return new StatusCodeResult(500);
}
}