Skip to content

Nats support #114

@zykovkirill

Description

@zykovkirill

Will there be Nats support in the future?
For Example

using JsonRpc.Core;
using JsonRpc.Router;
using JsonRpc.Router.Abstractions;
using JsonRpc.Router.Defaults;

namespace TecNotificationProcessing.NatsProcessing
{
    public interface IJRpcService
    {

        Task<RpcResponse> ProcessRequestAsync(RpcRequest request);
    }

    public class JRpcService : IJRpcService
    {
        private readonly IServiceProvider _serviceProvider;
        private readonly IRpcInvoker _invoker;
        private readonly IRouteContext _routeContext;

        public JRpcService(IRpcRouteProvider routeProvider, IServiceProvider serviceProvider, IRpcInvoker invoker)
        {
            _invoker = invoker ?? throw new ArgumentNullException(nameof(invoker)); ;
            _serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); ;
            _routeContext = new DefaultRouteContext(null, null, routeProvider ?? throw new ArgumentNullException(nameof(routeProvider)));
        }
        public async Task<RpcResponse> ProcessRequestAsync(RpcRequest request)
        {
            return await _invoker.InvokeRequestAsync(request, RpcPath.Default, _routeContext, _serviceProvider);
        }
    }
}


Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions