in JfkWebApiSkills/JfkWebApiSkills/JfkWebAPISkills.cs [48:69]
public static IActionResult RunCryptonymLinker([HttpTrigger(AuthorizationLevel.Function, "post", Route = null)]HttpRequest req, TraceWriter log, ExecutionContext executionContext)
{
string skillName = executionContext.FunctionName;
IEnumerable<WebApiRequestRecord> requestRecords = WebApiSkillHelpers.GetRequestRecords(req);
if (requestRecords == null)
{
return new BadRequestObjectResult($"{skillName} - Invalid request record array.");
}
CryptonymLinker cryptonymLinker = new CryptonymLinker(executionContext.FunctionAppDirectory);
WebApiSkillResponse response = WebApiSkillHelpers.ProcessRequestRecords(skillName, requestRecords,
(inRecord, outRecord) => {
string word = inRecord.Data["word"] as string;
if (word.All(Char.IsUpper) && cryptonymLinker.Cryptonyms.TryGetValue(word, out string description))
{
outRecord.Data["cryptonym"] = new { value = word, description };
}
return outRecord;
});
return (ActionResult)new OkObjectResult(response);
}