public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { base.OnActionExecuting(context); var type = typeof(ObjectLogsPostParameters); if (context.ActionArguments.ContainsKey("partitionKey") && context.ActionArguments.ContainsKey("rowKey")) { var partitionKey = context.ActionArguments["partitionKey"].ToString(); var rowKey = context.ActionArguments["rowKey"].ToString(); var objectHistoryDetailRaw = await _objectHistoryClient.GetObjectHistoryDetailRawAsync(partitionKey, rowKey); if (!TestSecurityValidationToken(context, objectHistoryDetailRaw)) { return; } } else { foreach (var key in context.ActionArguments.Keys) { if (type.IsAssignableFrom(context.ActionArguments[key].GetType())) { var partitionKey = (context.ActionArguments[key] as ObjectLogsPostParameters).PartitionKey; try { var objectHistoryDetailRaw = await _objectHistoryClient.GetObjectHistoryDetailRawAsync(partitionKey); if (!TestSecurityValidationToken(context, objectHistoryDetailRaw)) { return; } } catch (Exception ex) { return; } } } } await next(); }
public async Task <IActionResult> GetLog(string partitionKey, string rowKey) { var entities = await _objectHistoryClient.GetObjectHistoryDetailRawAsync(partitionKey, rowKey); return(Ok(entities)); }