public async Task <IActionResult> GetRequest([FromQuery] string token) { EmailQueueToken decoded; try { decoded = EmailQueueToken.DecodeString(token); } catch (Exception ex) { _logger.LogWarning("Failed to parse message token {0}: {1}", token, ex.Message); return(BadRequest()); } var response = new TokenEnquiryResponse(); response.Submitted = decoded.TimeStamp; var entries = await _logReader.GetProcessingLogsAsync(decoded); if (entries.Any()) { var latest = entries.OrderBy(e => e.RetryCount).Last(); response.Status = latest.Status; response.LastProcessed = latest.ProcessFinishedUtc; response.RetryCount = latest.RetryCount; response.ErrorMessage = latest.ErrorMessage; } return(Json(response)); }
public void DecodeBytes_ShouldDeserializeValidString() { // arrange var original = EmailQueueToken.Create(Application1); var base64 = original.EncodeString(); // act var decoded = EmailQueueToken.DecodeString(base64); // assert Assert.Equal(original.TimeStamp, decoded.TimeStamp); Assert.Equal(original.ApplicationId, decoded.ApplicationId); Assert.Equal(original.RequestId, decoded.RequestId); }
public EmailQueueToken Decode() => EmailQueueToken.DecodeString(Token);