All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.nepxion.discovery.plugin.strategy.gateway.adapter.DefaultDiscoveryEnabledAdapter Maven / Gradle / Ivy

package com.nepxion.discovery.plugin.strategy.gateway.adapter;

/**
 * 

Title: Nepxion Discovery

*

Description: Nepxion Discovery

*

Copyright: Copyright (c) 2017-2050

*

Company: Nepxion

* @author Haojun Ren * @version 1.0 */ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.server.ServerWebExchange; import com.nepxion.discovery.common.constant.DiscoveryConstant; import com.nepxion.discovery.plugin.strategy.adapter.AbstractDiscoveryEnabledAdapter; import com.nepxion.discovery.plugin.strategy.gateway.context.GatewayStrategyContextHolder; import com.netflix.loadbalancer.Server; public class DefaultDiscoveryEnabledAdapter extends AbstractDiscoveryEnabledAdapter { private static final Logger LOG = LoggerFactory.getLogger(DefaultDiscoveryEnabledAdapter.class); @Autowired private GatewayStrategyContextHolder gatewayStrategyContextHolder; @Override protected String getVersionValue(Server server) { ServerWebExchange exchange = gatewayStrategyContextHolder.getExchange(); if (exchange == null) { String serviceId = server.getMetaInfo().getAppName().toLowerCase(); LOG.warn("The ServerWebExchange object is null, ignore to do version filter for service={}...", serviceId); return null; } return exchange.getRequest().getHeaders().getFirst(DiscoveryConstant.VERSION); } @Override protected String getRegionValue(Server server) { ServerWebExchange exchange = gatewayStrategyContextHolder.getExchange(); if (exchange == null) { String serviceId = server.getMetaInfo().getAppName().toLowerCase(); LOG.warn("The ServerWebExchange object is null, ignore to do region filter for service={}...", serviceId); return null; } return exchange.getRequest().getHeaders().getFirst(DiscoveryConstant.REGION); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy