1234567891011121314151617181920212223242526272829303132333435 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Threading.Tasks;
- namespace JsonRPC4.Router.Abstractions
- {
- public static class RpcResponseSerializerExtensions
- {
- public static async Task<string> SerializeAsync(this IRpcResponseSerializer serializer, RpcResponse response)
- {
- using (MemoryStream stream = new MemoryStream())
- {
- await serializer.SerializeAsync(response, stream);
- return await GetStringAsync(stream);
- }
- }
- public static async Task<string> SerializeBulkAsync(this IRpcResponseSerializer serializer, IEnumerable<RpcResponse> responses)
- {
- using (MemoryStream stream = new MemoryStream())
- {
- await serializer.SerializeBulkAsync(responses, stream);
- return await GetStringAsync(stream);
- }
- }
- private static Task<string> GetStringAsync(MemoryStream stream)
- {
- stream.Position = 0L;
- return new StreamReader(stream).ReadToEndAsync();
- }
- }
- }
|