package com.app.framework.core.api.utils;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
 * API接口要排除的uri注册中心
 * 	通过ApiExcludeRegisterCenter.register(String uri)方法注册
 * 	在此注册过的uri不会被拦截器拦截
 * 
 */
public class ApiExcludeRegisterCenter {

	/**
	 * 要排除的uri集合
	 */
	private static Set<String> excludeList = new HashSet<>();


	/**
	 * 注册要排除的uri
	 * @param uri	要排除的uri
	 */
	public static void register(String uri){
		excludeList.add(uri);
	}

	/**
	 * 批量注册要排除的uri
	 * @param array	要排除的uri数组
	 */
	public static void register(String[] array){
		if(array != null && array.length > 0){
			excludeList.addAll(Arrays.asList(array));
		}
	}
	
	/**
	 * 判断请求的URL是否被排除拦截
	 * @param url	请求的URL
	 * @return 是否排除
	 */
	public static boolean isExcluded(String url) {
		if(!excludeList.isEmpty()){
			for (String u : excludeList){
				if(url.indexOf(u) > -1)
					return true;
			}
		}
		return false;
	}
}
