protected override async Task Write(TextWriter writer, string dataValue, ICitylineProducer provider, TicketHolder ticket, CancellationToken cancellationToken = default(CancellationToken))
        {
            await writer.WriteLineAsync($"id: {ticket.AsString()}");

            await writer.WriteLineAsync($"event: {provider.Name}");

            await writer.WriteLineAsync($"data: {dataValue}");

            await writer.WriteLineAsync("");
        }
Beispiel #2
0
        public void Can_serialize_ticket()
        {
            ////Arrange
            var sample = new SampleClass {
                Name = "bob"
            };
            var ticketHolder = new TicketHolder();

            ticketHolder.UpdateTicket(sample);
            var ticketSource = ticketHolder.AsString();

            ////Act
            var result = new TicketHolder(ticketSource);

            ////Assert
            var actualSample = result.GetTicket <SampleClass>();

            Assert.AreEqual("bob", actualSample.Name);
        }
Beispiel #3
0
        private async Task RunProducer(ICitylineProducer provider, Stream stream, TicketHolder ticket, IContext context, CancellationToken cancellationToken = default)
        {
            var response = await provider.GetFrame(ticket, context, cancellationToken);

            if (response == null)
            {
                return;
            }

            lock (padLock)
            {
                using (var writer = new StreamWriter(stream, new UTF8Encoding(false), 1024, true)) {
                    writer.WriteLine($"id: {ticket.AsString()}");
                    writer.WriteLine($"event: {provider.Name}");
                    writer.WriteLine($"data: {JsonConvert.SerializeObject(response, settings)}");
                    writer.WriteLine();
                }
            }
        }