Example #1
0
        private void OnProjectionsReadEvents(HttpEntityManager http, UriTemplateMatch match)
        {
            if (_httpForwarder.ForwardRequest(http))
            {
                return;
            }

            var envelope = new SendToHttpEnvelope <FeedReaderMessage.FeedPage>(
                _networkSendQueue, http, FeedPageFormatter, FeedPageConfigurator, ErrorsEnvelope(http));

            http.ReadTextRequestAsync(
                (o, body) => {
                var bodyParsed   = body.ParseJson <ReadEventsBody>();
                var fromPosition = CheckpointTag.FromJson(
                    new JTokenReader(bodyParsed.Position), new ProjectionVersion(0, 0, 0));


                Publish(
                    new FeedReaderMessage.ReadPage(
                        Guid.NewGuid(),
                        envelope,
                        http.User,
                        bodyParsed.Query,
                        fromPosition.Tag,
                        bodyParsed.MaxEvents ?? 10));
            },
                x => Log.DebugException(x, "Read Request Body Failed."));
        }
Example #2
0
        public void stream_position_should_not_overflow()
        {
            var checkpointTag = CheckpointTag.FromStreamPosition(1, "test", 9876543210L);
            var json          = checkpointTag.ToJsonString();

            var jsonReader            = new JsonTextReader(new StringReader(json));
            var checkpointTagFromJson = CheckpointTag.FromJson(jsonReader, new ProjectionVersion(0, 0, 0));

            Assert.AreEqual(9876543210L, checkpointTagFromJson.Tag.Streams["test"]);
        }
Example #3
0
        public void prepare_and_commit_positions_should_not_overflow()
        {
            var checkpointTag =
                CheckpointTag.FromPosition(1, 9876543210L, 9876543211L);
            var json = checkpointTag.ToJsonString();

            var jsonReader            = new JsonTextReader(new StringReader(json));
            var checkpointTagFromJson = CheckpointTag.FromJson(jsonReader, new ProjectionVersion(0, 0, 0));

            Assert.AreEqual(9876543210L, checkpointTagFromJson.Tag.CommitPosition);
            Assert.AreEqual(9876543211L, checkpointTagFromJson.Tag.PreparePosition);
        }
Example #4
0
        public void data_and_catalog_position_should_not_overflow()
        {
            var checkpointTag =
                CheckpointTag.FromByStreamPosition(1, "catalog", 9876543210L, "data", 9876543211L, 9876543212L);
            var json = checkpointTag.ToJsonString();

            var jsonReader            = new JsonTextReader(new StringReader(json));
            var checkpointTagFromJson = CheckpointTag.FromJson(jsonReader, new ProjectionVersion(0, 0, 0));

            Assert.AreEqual(9876543210L, checkpointTagFromJson.Tag.CatalogPosition);
            Assert.AreEqual(9876543211L, checkpointTagFromJson.Tag.DataPosition);
        }