예제 #1
0
        public void CreatesCorrectPolicy(int timeoutSeconds)
        {
            var basePolicy = new ForwardRequest(TimeSpan.FromSeconds(timeoutSeconds));
            var xml        = basePolicy.GetXml().ToString();

            xml.Should().Be($"<forward-request timeout=\"{timeoutSeconds}\" />");
        }
예제 #2
0
        public override async Task <ForwardResponse> Forward(ForwardRequest request, ServerCallContext context)
        {
            logger.LogDebug("Forward to {0} with method {1}", request.TargetEndpoint, request.TargetMethod);
            var client = clientFactory(request.TargetEndpoint);

            switch (request.TargetMethod)
            {
            case "Ping1":
                return(new ForwardResponse
                {
                    Ping1Response = await client.Ping1Async(
                        request.Ping1Request,
                        deadline : context?.Deadline ?? DateTime.UtcNow + TimeSpan.FromMilliseconds(200),
                        cancellationToken : context?.CancellationToken ?? default)
                });
    public void forwardVia(string NameSpace, ReloadMessage message) {

      machine.ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_REDIR, "GatewayRequestHandler: going to forward form to ServiceProvider" + NameSpace);

      message.security_block = new SecurityBlock(machine.ReloadConfig, machine.ReloadConfig.AccessController.MyIdentity);
      message.security_block.SignMessage(machine.ReloadConfig.OverlayHash, //TODO: remove overlayhash from glals
       message.TransactionID.ToString(), message.reload_message_body);
      machine.ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_FORWARDING, message.reload_message_body.RELOAD_MsgCode.ToString() + " resigned (new SecurityBlock)");
      
      ForwardRequest req = new ForwardRequest(machine, message);

      if (gateWayCache.ContainsKey(NameSpace) == true) {
        req.fire(NameSpace, gateWayCache[NameSpace]);
      }
      else {
        RequestQueue[NameSpace].Enqueue(req);
        machine.ReloadConfig.Logger(ReloadGlobals.TRACEFLAGS.T_REDIR, "GatewayRequestHandler: starting lookupService for " + NameSpace + "...");
        ReDiRNode.lookupService(NameSpace);
      }
    }