public RequestAttempt()

in zuul-core/src/main/java/com/netflix/zuul/niws/RequestAttempt.java [116:161]


    public RequestAttempt(
            DiscoveryResult server,
            InetAddress serverAddr,
            IClientConfig clientConfig,
            int attemptNumber,
            int readTimeout) {
        this.status = -1;
        this.attempt = attemptNumber;
        this.readTimeout = readTimeout;

        if (server != null && !server.equals(DiscoveryResult.EMPTY)) {
            this.host = server.getHost();
            this.port = server.getPort();
            this.availabilityZone = server.getZone();

            if (server.isDiscoveryEnabled()) {
                this.app = server.getAppName().toLowerCase(Locale.ROOT);
                this.asg = server.getASGName();
                this.instanceId = server.getServerId();
                this.host = server.getHost();
                this.port = server.getPort();
                this.vip = server.getTarget();
                this.availabilityZone = server.getAvailabilityZone();

            } else {
                SimpleMetaInfo metaInfo = server.getMetaInfo();
                if (metaInfo != null) {
                    this.asg = metaInfo.getServerGroup();
                    this.vip = metaInfo.getServiceIdForDiscovery();
                    this.instanceId = metaInfo.getInstanceId();
                }
            }
            // HACK - get region by just removing the last char from zone.
            if (availabilityZone != null && availabilityZone.length() > 0) {
                region = availabilityZone.substring(0, availabilityZone.length() - 1);
            }
        }

        if (serverAddr != null) {
            ipAddress = serverAddr.getHostAddress();
        }

        if (clientConfig != null) {
            this.connectTimeout = clientConfig.get(IClientConfigKey.Keys.ConnectTimeout);
        }
    }