in src/main/java/org/apache/pulsar/manager/zuul/EnvironmentForward.java [74:106]
public Object run() {
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = ctx.getRequest();
String redirect = request.getParameter("redirect");
String requestUri = request.getServletPath();
request.getServletPath();
String token = request.getHeader("token");
if (redirect != null && redirect.equals("true")) {
String redirectScheme = request.getParameter("redirect.scheme");
String redirectHost = request.getParameter("redirect.host");
String redirectPort = request.getParameter("redirect.port");
String url = redirectScheme + "://" + redirectHost + ":" + redirectPort;
return forwardRequest(ctx, request, url);
}
String broker = request.getHeader("x-pulsar-broker");
if (StringUtils.isNotBlank(broker)) { // the request should be forward to a pulsar broker
// TODO: support https://
String serviceUrl = "http://" + broker;
return forwardRequest(ctx, request, serviceUrl);
}
String environment = request.getHeader("environment");
if (StringUtils.isBlank(environment)) {
return null;
}
String serviceUrl = environmentCacheService.getServiceUrl(request);
return forwardRequest(ctx, request, serviceUrl);
}