Beispiel #1
0
 public RequestRouter(
     IHandlersManager collection,
     ISerializer serializer,
     IServiceScopeFactory serviceScopeFactory,
     ILogger <RequestRouter> logger
     )
     : base(serializer, serviceScopeFactory, logger) =>
Beispiel #2
0
 public RequestRouter(
     IHandlersManager collection,
     ISerializer serializer,
     IServiceScopeFactory serviceScopeFactory,
     ILogger <RequestRouter> logger,
     IActivityTracingStrategy?activityTracingStrategy = null
     )
     : base(serializer, serviceScopeFactory, logger, activityTracingStrategy) =>
Beispiel #3
0
 internal JsonRpcServer(
     IOptions <JsonRpcServerOptions> options,
     Connection connection,
     IHandlersManager handlerCollection,
     IResponseRouter responseRouter,
     IServiceProvider serviceProvider
     ) : base(handlerCollection, responseRouter)
 {
     _connection = connection;
     _disposable = options.Value.CompositeDisposable;
     _disposable.Add(_connection);
     if (serviceProvider is IDisposable disposable)
     {
         _disposable.Add(disposable);
     }
 }
 public DocumentLinkRegistrationOptionsConverter(IHandlersManager handlersManager) : base(nameof(ServerCapabilities.DocumentLinkProvider))
 {
     _handlersManager = handlersManager;
 }
Beispiel #5
0
 protected JsonRpcServerBase(IHandlersManager handlersManager, IResponseRouter responseRouter)
 {
     HandlersManager = handlersManager;
     ResponseRouter  = responseRouter;
 }
 public ExecuteCommandRegistrationOptionsConverter(IHandlersManager handlersManager) : base(nameof(ServerCapabilities.ExecuteCommandProvider))
 {
     _handlersManager = handlersManager;
 }
Beispiel #7
0
        public static void Populate(this IJsonRpcHandlerCollection collection, IResolverContext resolverContext, IHandlersManager handlersManager)
        {
            var links = new List <JsonRpcHandlerLinkDescription>();

            foreach (var item in collection)
            {
                switch (item)
                {
                case JsonRpcHandlerFactoryDescription {
                        Method: { Length : > 0 }
                } factory :
                    handlersManager.Add(factory.Method, factory.HandlerFactory(resolverContext), factory.Options);
                    continue;

                case JsonRpcHandlerFactoryDescription factory:
                    handlersManager.Add(factory.HandlerFactory(resolverContext), factory.Options);
                    continue;

                case JsonRpcHandlerTypeDescription {
                        Method: { Length : > 0 }
                } type :
                    handlersManager.Add(type.Method, (resolverContext.Resolve(type.HandlerType) as IJsonRpcHandler) !, type.Options);
                    continue;

                case JsonRpcHandlerTypeDescription type:
                    handlersManager.Add((resolverContext.Resolve(type.HandlerType) as IJsonRpcHandler) !, type.Options);
                    continue;

                case JsonRpcHandlerInstanceDescription {
                        Method: { Length : > 0 }
                } instance :
                    handlersManager.Add(instance.Method, instance.HandlerInstance, instance.Options);
                    continue;

                case JsonRpcHandlerInstanceDescription instance:
                    handlersManager.Add(instance.HandlerInstance, instance.Options);
                    continue;

                case JsonRpcHandlerLinkDescription link:
                    links.Add(link);
                    continue;
                }
            }

            foreach (var link in links)
            {
                handlersManager.AddLink(link.Method, link.LinkToMethod);
            }
        }
Beispiel #8
0
 public CompositeHandlersManager(IHandlersManager parent) => _parent = parent;
 public InterimJsonRpcServerRegistry(IHandlersManager handlersManager) => _handlersManager = handlersManager;
 public CompletionRegistrationOptionsConverter(IHandlersManager handlersManager) : base(nameof(ServerCapabilities.CompletionProvider))
 {
     _handlersManager = handlersManager;
 }
 public SemanticTokensRegistrationOptionsConverter(IHandlersManager handlersManager) : base(nameof(ServerCapabilities.SemanticTokensProvider))
 {
     _handlersManager = handlersManager;
 }
Beispiel #12
0
 /// <summary>
 /// Gets all the unique handlers currently registered with the manager
 /// </summary>
 /// <param name="handlersManager"></param>
 /// <returns></returns>
 public static IEnumerable <IJsonRpcHandler> GetHandlers(this IHandlersManager handlersManager)
 {
     return(handlersManager.Descriptors.Select(z => z.Handler).Distinct());
 }
Beispiel #13
0
        public static void Populate(this IJsonRpcHandlerCollection collection, IServiceProvider serviceProvider, IHandlersManager handlersManager)
        {
            var links = new List <JsonRpcHandlerLinkDescription>();

            foreach (var item in collection)
            {
                switch (item)
                {
                case JsonRpcHandlerFactoryDescription factory when string.IsNullOrWhiteSpace(factory.Method):
                    handlersManager.Add(factory.HandlerFactory(serviceProvider), factory.Options);

                    continue;

                case JsonRpcHandlerFactoryDescription factory:
                    handlersManager.Add(factory.Method, factory.HandlerFactory(serviceProvider), factory.Options);
                    continue;

                case JsonRpcHandlerTypeDescription type when string.IsNullOrWhiteSpace(type.Method):
                    handlersManager.Add(ActivatorUtilities.CreateInstance(serviceProvider, type.HandlerType) as IJsonRpcHandler, type.Options);

                    continue;

                case JsonRpcHandlerTypeDescription type:
                    handlersManager.Add(type.Method, ActivatorUtilities.CreateInstance(serviceProvider, type.HandlerType) as IJsonRpcHandler, type.Options);
                    continue;

                case JsonRpcHandlerInstanceDescription instance when string.IsNullOrWhiteSpace(instance.Method):
                    handlersManager.Add(instance.HandlerInstance, instance.Options);

                    continue;

                case JsonRpcHandlerInstanceDescription instance:
                    handlersManager.Add(instance.Method, instance.HandlerInstance, instance.Options);
                    continue;

                case JsonRpcHandlerLinkDescription link:
                    links.Add(link);
                    continue;
                }
            }

            foreach (var link in links)
            {
                handlersManager.AddLink(link.Method, link.LinkToMethod);
            }
        }
 public MonikerRegistrationOptionsOptionsConverter(IHandlersManager handlersManager) : base(nameof(ServerCapabilities.MonikerProvider))
 {
     _handlersManager = handlersManager;
 }
Beispiel #15
0
 public InterimJsonRpcServerRegistry(IServiceProvider serviceProvider, IHandlersManager handlersManager)
 {
     _serviceProvider = serviceProvider;
     _handlersManager = handlersManager;
 }