//$ALL private void OnGetAllBefore(HttpEntity entity, UriTemplateMatch match) { var p = match.BoundVariables["pos"]; var c = match.BoundVariables["count"]; TFPos position; int count; if (!string.IsNullOrEmpty(p)) { if (!TFPos.TryParse(p, out position)) { SendBadRequest(entity, string.Format("Invalid position argument : {0}", p)); } } else { position = TFPos.Invalid; } if (!string.IsNullOrEmpty(c)) { if (!int.TryParse(c, out count)) { SendBadRequest(entity, string.Format("Invalid count argument : {0}", c)); } } else { count = AtomSpecs.FeedPageSize; } _allEventsController.GetAllBefore(entity, position, count); }
private RequestParams GetAllEventsForward(HttpEntityManager manager, UriTemplateMatch match) { var pos = match.BoundVariables["position"]; var cnt = match.BoundVariables["count"]; TFPos position; int count; var embed = GetEmbedLevel(manager, match); if (!TFPos.TryParse(pos, out position) || position.PreparePosition < 0 || position.CommitPosition < 0) { return(SendBadRequest(manager, string.Format("Invalid position argument: {0}", pos))); } if (!int.TryParse(cnt, out count) || count <= 0) { return(SendBadRequest(manager, string.Format("Invalid count argument: {0}", cnt))); } bool requireMaster; if (!GetRequireMaster(manager, out requireMaster)) { return(SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.RequireMaster))); } TimeSpan?longPollTimeout; if (!GetLongPoll(manager, out longPollTimeout)) { return(SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.LongPoll))); } var envelope = new SendToHttpEnvelope(_networkSendQueue, manager, (args, msg) => Format.ReadAllEventsForwardCompleted(args, msg, embed), (args, msg) => Configure.ReadAllEventsForwardCompleted(args, msg, headOfTf: false)); var corrId = Guid.NewGuid(); Publish(new ClientMessage.ReadAllEventsForward(corrId, corrId, envelope, position.CommitPosition, position.PreparePosition, count, requireMaster, true, GetETagTFPosition(manager), manager.User, longPollTimeout)); return(new RequestParams((longPollTimeout ?? TimeSpan.Zero) + ESConsts.HttpTimeout)); }
// $ALL private void GetAllEventsBackward(HttpEntityManager manager, UriTemplateMatch match) { var pos = match.BoundVariables["position"]; var cnt = match.BoundVariables["count"]; TFPos position = TFPos.HeadOfTf; int count = AtomSpecs.FeedPageSize; var embed = GetEmbedLevel(manager, match); if (pos != null && pos != "head" && (!TFPos.TryParse(pos, out position) || position.PreparePosition < 0 || position.CommitPosition < 0)) { SendBadRequest(manager, string.Format("Invalid position argument: {0}", pos)); return; } if (cnt.IsNotEmptyString() && (!int.TryParse(cnt, out count) || count <= 0)) { SendBadRequest(manager, string.Format("Invalid count argument: {0}", cnt)); return; } bool requireMaster; if (!GetRequireMaster(manager, out requireMaster)) { SendBadRequest(manager, string.Format("{0} header in wrong format.", SystemHeaders.RequireMaster)); return; } var envelope = new SendToHttpEnvelope(_networkSendQueue, manager, (args, msg) => Format.ReadAllEventsBackwardCompleted(args, msg, embed), (args, msg) => Configure.ReadAllEventsBackwardCompleted(args, msg, position == TFPos.HeadOfTf)); var corrId = Guid.NewGuid(); Publish(new ClientMessage.ReadAllEventsBackward(corrId, corrId, envelope, position.CommitPosition, position.PreparePosition, count, requireMaster, true, GetETagTFPosition(manager), manager.User)); }
private void OnGetAllAfter(HttpEntity entity, UriTemplateMatch match) { var p = match.BoundVariables["pos"]; var c = match.BoundVariables["count"]; TFPos position; int count; if (string.IsNullOrEmpty(p) || !TFPos.TryParse(p, out position)) { SendBadRequest(entity, string.Format("Invalid position argument : {0}", p)); return; } if (string.IsNullOrEmpty(c) || !int.TryParse(c, out count)) { SendBadRequest(entity, string.Format("Invalid count argument : {0}", c)); return; } _allEventsController.GetAllAfter(entity, position, count); }