Skip to content

Commit 3fb31c6

Browse files
committed
feat: 更换命名
1 parent cebbac3 commit 3fb31c6

File tree

7 files changed

+115
-82
lines changed

7 files changed

+115
-82
lines changed

src/main/java/top/meethigher/proxy/http/ProxyRoute.java

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -31,89 +31,99 @@ public class ProxyRoute implements Serializable {
3131

3232
private boolean httpKeepAlive = true;
3333

34-
private LOG log = new LOG();
34+
private Log log = new Log();
3535

36-
private CORSControl corsControl = new CORSControl();
36+
private CorsControl corsControl = new CorsControl();
3737

3838

3939
public String getSourceUrl() {
4040
return sourceUrl;
4141
}
4242

43-
public void setSourceUrl(String sourceUrl) {
43+
public ProxyRoute setSourceUrl(String sourceUrl) {
4444
this.sourceUrl = sourceUrl;
45+
return this;
4546
}
4647

4748
public String getTargetUrl() {
4849
return targetUrl;
4950
}
5051

51-
public void setTargetUrl(String targetUrl) {
52+
public ProxyRoute setTargetUrl(String targetUrl) {
5253
this.targetUrl = targetUrl;
54+
return this;
5355
}
5456

55-
public LOG getLog() {
57+
public Log getLog() {
5658
return log;
5759
}
5860

5961
public boolean isHttpKeepAlive() {
6062
return httpKeepAlive;
6163
}
6264

63-
public void setHttpKeepAlive(boolean httpKeepAlive) {
65+
public ProxyRoute setHttpKeepAlive(boolean httpKeepAlive) {
6466
this.httpKeepAlive = httpKeepAlive;
67+
return this;
6568
}
6669

67-
public void setLog(LOG log) {
70+
public ProxyRoute setLog(Log log) {
6871
this.log = log;
72+
return this;
6973
}
7074

71-
public CORSControl getCorsControl() {
75+
public CorsControl getCorsControl() {
7276
return corsControl;
7377
}
7478

75-
public void setCorsControl(CORSControl corsControl) {
79+
public ProxyRoute setCorsControl(CorsControl corsControl) {
7680
this.corsControl = corsControl;
81+
return this;
7782
}
7883

7984
public String getName() {
8085
return name;
8186
}
8287

83-
public void setName(String name) {
88+
public ProxyRoute setName(String name) {
8489
this.name = name;
90+
return this;
8591
}
8692

8793
public boolean isForwardIp() {
8894
return forwardIp;
8995
}
9096

91-
public void setForwardIp(boolean forwardIp) {
97+
public ProxyRoute setForwardIp(boolean forwardIp) {
9298
this.forwardIp = forwardIp;
99+
return this;
93100
}
94101

95102
public boolean isPreserveCookies() {
96103
return preserveCookies;
97104
}
98105

99-
public void setPreserveCookies(boolean preserveCookies) {
106+
public ProxyRoute setPreserveCookies(boolean preserveCookies) {
100107
this.preserveCookies = preserveCookies;
108+
return this;
101109
}
102110

103111
public boolean isPreserveHost() {
104112
return preserveHost;
105113
}
106114

107-
public void setPreserveHost(boolean preserveHost) {
115+
public ProxyRoute setPreserveHost(boolean preserveHost) {
108116
this.preserveHost = preserveHost;
117+
return this;
109118
}
110119

111120
public boolean isFollowRedirects() {
112121
return followRedirects;
113122
}
114123

115-
public void setFollowRedirects(boolean followRedirects) {
124+
public ProxyRoute setFollowRedirects(boolean followRedirects) {
116125
this.followRedirects = followRedirects;
126+
return this;
117127
}
118128

119129
public Map<String, String> toMap() {
@@ -129,7 +139,7 @@ public Map<String, String> toMap() {
129139
map.put("log.enable", String.valueOf(getLog().isEnable()));
130140
map.put("log.logFormat", String.valueOf(getLog().getLogFormat()));
131141
map.put("corsControl.enable", String.valueOf(getCorsControl().isEnable()));
132-
map.put("corsControl.allowCors", String.valueOf(getCorsControl().isAllowCORS()));
142+
map.put("corsControl.allowCors", String.valueOf(getCorsControl().isAllowCors()));
133143
return map;
134144
}
135145

@@ -140,7 +150,7 @@ public Map<String, String> toMap() {
140150
* @author chenchuancheng
141151
* @since 2024/06/29 11:59
142152
*/
143-
public static class CORSControl {
153+
public static class CorsControl {
144154
/**
145155
* true表示所有的代理请求的跨域都由自己管理
146156
* false表示所有的代理请求的跨域由被代理方控制
@@ -152,26 +162,28 @@ public static class CORSControl {
152162
* 如果该参数为true表示所有经过代理的服务都允许跨域
153163
* 如果该参数为true表示所有经过代理的服务均不允许跨域
154164
*/
155-
private boolean allowCORS;
165+
private boolean allowCors = false;
156166

157167
public boolean isEnable() {
158168
return enable;
159169
}
160170

161-
public void setEnable(boolean enable) {
171+
public CorsControl setEnable(boolean enable) {
162172
this.enable = enable;
173+
return this;
163174
}
164175

165-
public boolean isAllowCORS() {
166-
return allowCORS;
176+
public boolean isAllowCors() {
177+
return allowCors;
167178
}
168179

169-
public void setAllowCORS(boolean allowCORS) {
170-
this.allowCORS = allowCORS;
180+
public CorsControl setAllowCors(boolean allowCors) {
181+
this.allowCors = allowCors;
182+
return this;
171183
}
172184
}
173185

174-
public static class LOG {
186+
public static class Log {
175187
private boolean enable = true;
176188
/**
177189
* Configure the agent’s log format. The options are remoteAddr、remotePort、userAgent、method、source、target
@@ -182,16 +194,18 @@ public boolean isEnable() {
182194
return enable;
183195
}
184196

185-
public void setEnable(boolean enable) {
197+
public Log setEnable(boolean enable) {
186198
this.enable = enable;
199+
return this;
187200
}
188201

189202
public String getLogFormat() {
190203
return logFormat;
191204
}
192205

193-
public void setLogFormat(String logFormat) {
206+
public Log setLogFormat(String logFormat) {
194207
this.logFormat = logFormat;
208+
return this;
195209
}
196210
}
197211
}

src/main/java/top/meethigher/proxy/http/VertxHTTPReverseProxy.java renamed to src/main/java/top/meethigher/proxy/http/ReverseHttpProxy.java

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import io.vertx.core.*;
44
import io.vertx.core.http.*;
5+
import io.vertx.core.json.JsonObject;
56
import io.vertx.ext.web.Route;
67
import io.vertx.ext.web.Router;
78
import io.vertx.ext.web.RoutingContext;
@@ -17,9 +18,9 @@
1718
* @author <a href="https://meethigher.top">chenchuancheng</a>
1819
* @since 2024/10/30 23:05
1920
*/
20-
public class VertxHTTPReverseProxy {
21+
public class ReverseHttpProxy {
2122

22-
private static final Logger log = LoggerFactory.getLogger(VertxHTTPReverseProxy.class);
23+
private static final Logger log = LoggerFactory.getLogger(ReverseHttpProxy.class);
2324

2425

2526
public static final String P_NAME = "name";
@@ -126,28 +127,28 @@ public class VertxHTTPReverseProxy {
126127
*/
127128
protected final String LOG_FORMAT_DEFAULT = "{name} -- {method} -- {userAgent} -- {remoteAddr}:{remotePort} -- {source} --> {target} -- {statusCode} consumed {consumedMills} ms";
128129

129-
public VertxHTTPReverseProxy(HttpServer httpServer, HttpClient httpClient, Router router, String name) {
130+
public ReverseHttpProxy(HttpServer httpServer, HttpClient httpClient, Router router, String name) {
130131
this.httpServer = httpServer;
131132
this.httpClient = httpClient;
132133
this.router = router;
133134
this.name = name;
134135
}
135136

136-
public static VertxHTTPReverseProxy create(Vertx vertx, String name) {
137-
return new VertxHTTPReverseProxy(vertx.createHttpServer(), vertx.createHttpClient(), Router.router(vertx), name);
137+
public static ReverseHttpProxy create(Vertx vertx, String name) {
138+
return new ReverseHttpProxy(vertx.createHttpServer(), vertx.createHttpClient(), Router.router(vertx), name);
138139
}
139140

140-
public static VertxHTTPReverseProxy create(Vertx vertx) {
141-
return new VertxHTTPReverseProxy(vertx.createHttpServer(), vertx.createHttpClient(), Router.router(vertx), generateName());
141+
public static ReverseHttpProxy create(Vertx vertx) {
142+
return new ReverseHttpProxy(vertx.createHttpServer(), vertx.createHttpClient(), Router.router(vertx), generateName());
142143
}
143144

144-
public static VertxHTTPReverseProxy create(Router router, HttpServer httpServer, HttpClient httpClient, String name) {
145-
return new VertxHTTPReverseProxy(httpServer, httpClient, router, name);
145+
public static ReverseHttpProxy create(Router router, HttpServer httpServer, HttpClient httpClient, String name) {
146+
return new ReverseHttpProxy(httpServer, httpClient, router, name);
146147
}
147148

148149

149-
public static VertxHTTPReverseProxy create(Router router, HttpServer httpServer, HttpClient httpClient) {
150-
return new VertxHTTPReverseProxy(httpServer, httpClient, router, generateName());
150+
public static ReverseHttpProxy create(Router router, HttpServer httpServer, HttpClient httpClient) {
151+
return new ReverseHttpProxy(httpServer, httpClient, router, generateName());
151152
}
152153

153154
protected static String generateName() {
@@ -169,12 +170,12 @@ protected static String generateName() {
169170
}
170171
}
171172

172-
public VertxHTTPReverseProxy port(int port) {
173+
public ReverseHttpProxy port(int port) {
173174
this.sourcePort = port;
174175
return this;
175176
}
176177

177-
public VertxHTTPReverseProxy host(String host) {
178+
public ReverseHttpProxy host(String host) {
178179
this.sourceHost = host;
179180
return this;
180181
}
@@ -201,24 +202,42 @@ public void stop() {
201202
.onFailure(e -> log.error("{} close failed", name, e));
202203
}
203204

205+
public ReverseHttpProxy addRoute(ProxyRoute proxyRoute) {
206+
return addRoute(proxyRoute, null);
207+
}
208+
204209

205-
public VertxHTTPReverseProxy addRoute(
206-
ProxyRoute proxyRoute
210+
/**
211+
* order越小,优先级越高
212+
*/
213+
public ReverseHttpProxy addRoute(
214+
ProxyRoute proxyRoute,
215+
Integer order
207216
) {
208217
Route route = router.route(proxyRoute.getSourceUrl()).setName(proxyRoute.getName());
218+
if (order != null) {
219+
route.order(order);
220+
}
209221
Map<String, String> map = proxyRoute.toMap();
210222
for (String key : map.keySet()) {
211223
route.putMetadata(key, map.get(key));
212224
}
213225
route.handler(routingContextHandler(httpClient));
214-
log.info(proxyRoute.toMap().toString());
226+
jsonLog(proxyRoute);
215227
return this;
216228
}
217229

218-
public VertxHTTPReverseProxy removeRoute(String name) {
230+
private void jsonLog(ProxyRoute proxyRoute) {
231+
Map<String, Object> map = new LinkedHashMap<>(proxyRoute.toMap());
232+
log.info("add Route\n{}", new JsonObject(map).encodePrettily());
233+
}
234+
235+
236+
public ReverseHttpProxy removeRoute(String name) {
219237
for (Route route : getRoutes()) {
220238
if (name.equals(route.getName())) {
221239
route.remove();
240+
log.info("remove Route {}--{}", name, route.getMetadata(P_SOURCE_URL));
222241
//break;//允许名称重复的一并删除
223242
}
224243
}

src/main/java/top/meethigher/proxy/tcp/VertxTCPReverseProxy.java renamed to src/main/java/top/meethigher/proxy/tcp/ReverseTcpProxy.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
* @author <a href="https://meethigher.top">chenchuancheng</a>
1919
* @since 2024/10/30 23:06
2020
*/
21-
public class VertxTCPReverseProxy {
21+
public class ReverseTcpProxy {
2222

23-
private static final Logger log = LoggerFactory.getLogger(VertxTCPReverseProxy.class);
23+
private static final Logger log = LoggerFactory.getLogger(ReverseTcpProxy.class);
2424

2525
private static final char[] ID_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
2626

@@ -35,8 +35,8 @@ public class VertxTCPReverseProxy {
3535
private final int targetPort;
3636
private final String name;
3737

38-
private VertxTCPReverseProxy(NetServer netServer, NetClient netClient,
39-
String targetHost, int targetPort, String name) {
38+
private ReverseTcpProxy(NetServer netServer, NetClient netClient,
39+
String targetHost, int targetPort, String name) {
4040
this.name = name;
4141
this.targetHost = targetHost;
4242
this.targetPort = targetPort;
@@ -63,30 +63,30 @@ private VertxTCPReverseProxy(NetServer netServer, NetClient netClient,
6363
};
6464
}
6565

66-
public static VertxTCPReverseProxy create(Vertx vertx,
67-
String targetHost, int targetPort, String name) {
68-
return new VertxTCPReverseProxy(vertx.createNetServer(), vertx.createNetClient(), targetHost, targetPort, name);
66+
public static ReverseTcpProxy create(Vertx vertx,
67+
String targetHost, int targetPort, String name) {
68+
return new ReverseTcpProxy(vertx.createNetServer(), vertx.createNetClient(), targetHost, targetPort, name);
6969
}
7070

71-
public static VertxTCPReverseProxy create(Vertx vertx,
72-
String targetHost, int targetPort) {
73-
return new VertxTCPReverseProxy(vertx.createNetServer(), vertx.createNetClient(), targetHost, targetPort, generateName());
71+
public static ReverseTcpProxy create(Vertx vertx,
72+
String targetHost, int targetPort) {
73+
return new ReverseTcpProxy(vertx.createNetServer(), vertx.createNetClient(), targetHost, targetPort, generateName());
7474
}
7575

76-
public static VertxTCPReverseProxy create(NetServer netServer, NetClient netClient, String targetHost, int targetPort) {
77-
return new VertxTCPReverseProxy(netServer, netClient, targetHost, targetPort, generateName());
76+
public static ReverseTcpProxy create(NetServer netServer, NetClient netClient, String targetHost, int targetPort) {
77+
return new ReverseTcpProxy(netServer, netClient, targetHost, targetPort, generateName());
7878
}
7979

80-
public static VertxTCPReverseProxy create(NetServer netServer, NetClient netClient, String targetHost, int targetPort, String name) {
81-
return new VertxTCPReverseProxy(netServer, netClient, targetHost, targetPort, name);
80+
public static ReverseTcpProxy create(NetServer netServer, NetClient netClient, String targetHost, int targetPort, String name) {
81+
return new ReverseTcpProxy(netServer, netClient, targetHost, targetPort, name);
8282
}
8383

84-
public VertxTCPReverseProxy port(int port) {
84+
public ReverseTcpProxy port(int port) {
8585
this.sourcePort = port;
8686
return this;
8787
}
8888

89-
public VertxTCPReverseProxy host(String host) {
89+
public ReverseTcpProxy host(String host) {
9090
this.sourceHost = host;
9191
return this;
9292
}

0 commit comments

Comments
 (0)