|
| 1 | +//package top.meethigher; |
| 2 | +// |
| 3 | +//import io.vertx.core.http.HttpClient; |
| 4 | +//import io.vertx.core.http.HttpServer; |
| 5 | +//import org.slf4j.Logger; |
| 6 | +//import org.slf4j.LoggerFactory; |
| 7 | +// |
| 8 | +//import java.util.concurrent.ThreadLocalRandom; |
| 9 | +// |
| 10 | +//public class VertxHTTPReverseProxy { |
| 11 | +// |
| 12 | +// private static final Logger log = LoggerFactory.getLogger(VertxHTTPReverseProxy.class); |
| 13 | +// |
| 14 | +// private static final char[] ID_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); |
| 15 | +// |
| 16 | +// private String sourceHost = "0.0.0.0"; |
| 17 | +// |
| 18 | +// private int sourcePort = 999; |
| 19 | +// |
| 20 | +// private final HttpServer server; |
| 21 | +// |
| 22 | +// private final HttpClient httpClient; |
| 23 | +// |
| 24 | +// private final HttpClient httpsClient; |
| 25 | +// |
| 26 | +// private final String targetHost; |
| 27 | +// |
| 28 | +// private final int targetPort; |
| 29 | +// |
| 30 | +// private final String name; |
| 31 | +// |
| 32 | +// private static String generateName() { |
| 33 | +// final String prefix = "VertxHTTPReverseProxy-"; |
| 34 | +// try { |
| 35 | +// // 池号对于虚拟机来说是全局的,以避免在类加载器范围的环境中池号重叠 |
| 36 | +// synchronized (System.getProperties()) { |
| 37 | +// final String next = String.valueOf(Integer.getInteger("top.meethigher.VertxHTTPReverseProxy.name", 0) + 1); |
| 38 | +// System.setProperty("top.meethigher.VertxHTTPReverseProxy.name", next); |
| 39 | +// return prefix + next; |
| 40 | +// } |
| 41 | +// } catch (Exception e) { |
| 42 | +// final ThreadLocalRandom random = ThreadLocalRandom.current(); |
| 43 | +// final StringBuilder sb = new StringBuilder(prefix); |
| 44 | +// for (int i = 0; i < 4; i++) { |
| 45 | +// sb.append(ID_CHARACTERS[random.nextInt(62)]); |
| 46 | +// } |
| 47 | +// return sb.toString(); |
| 48 | +// } |
| 49 | +// } |
| 50 | +//} |
0 commit comments