public UnArchiveMessages() { Patch["/errors/unarchive", true] = async(_, token) => { var ids = this.Bind <List <string> >(); if (ids.Any(string.IsNullOrEmpty)) { return(HttpStatusCode.BadRequest); } var request = new InternalMessages.UnArchiveMessages { FailedMessageIds = ids }; await MessageSession.SendLocal(request).ConfigureAwait(false); return(HttpStatusCode.Accepted); }; Patch["/errors/{from}...{to}/unarchive", true] = async(parameters, token) => { DateTime from, to; try { from = DateTime.Parse(parameters.from, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); to = DateTime.Parse(parameters.to, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind); } catch (Exception) { return(HttpStatusCode.BadRequest); } await MessageSession.SendLocal(new UnArchiveMessagesByRange { From = from, To = to, CutOff = DateTime.UtcNow }).ConfigureAwait(false); return(HttpStatusCode.Accepted); }; }