Esempio n. 1
0
        private void HandleTargetSessionMsg(CdpResponse response)
        {
            var msg = response.GetSessionMessage();

            if (msg == null)
            {
                return;
            }

            if (msg.IsMsgRuntimeLog())
            {
                _logger.LogDebug($"Chrome Msg:  {msg}");
                return;
            }

            if (msg.IsMsgRuntimeBindCalled())
            {
                var actx = msg.GetActionContext();
                if (actx == null)
                {
                    return;
                }

                var rs = _routeService.Execute(actx);
                HandleActionResult(rs);
                return;
            }
            if (!msg.Id.HasValue)
            {
                return;
            }

            if (_cbMap.TryGetValue(msg.Id.Value, out SessionCallback cbk))
            {
                _cbMap.TryRemove(msg.Id.Value, out _);
                cbk.Callback(cbk.Request, msg);
            }
        }