Пример #1
0
        public void Login(Login input, IChannelHandlerContext context)
        {
            var client = new RestClient($"{_configuration["ApiUrl"]}/api/user/get");

            var request = new RestRequest(Method.GET)
                          .AddHeader("Authorization", $"Bearer {input.Token}");

            var response = client.Execute <UserRecordInput>(request);

            if (!response.IsSuccessful)
            {
                context.CloseAsync();

                return;
            }

            context.SetUserId(response.Data.Id);

            _cacheManager.SetString($"{CacheKeys.ROUTER}{response.Data.Id}", $"{_configuration["Service:IP"]}:{_configuration["Service:Port"]}");

            SessionSocketHolder.Add(response.Data.Id, context);
        }