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