Update docs for REQUEST_URI_KEY in zuul

parent 5212d138
...@@ -1917,6 +1917,8 @@ The filter above populates `SERVICE_ID_KEY` from the `foo` request parameter. In ...@@ -1917,6 +1917,8 @@ The filter above populates `SERVICE_ID_KEY` from the `foo` request parameter. In
Now that `SERVICE_ID_KEY` is populated, `PreDecorationFilter` won't run and `RibbonRoutingFilter` will. If you wanted to route to a full URL instead, call `ctx.setRouteHost(url)` instead. Now that `SERVICE_ID_KEY` is populated, `PreDecorationFilter` won't run and `RibbonRoutingFilter` will. If you wanted to route to a full URL instead, call `ctx.setRouteHost(url)` instead.
To modify the path that routing filters will forward to, set the `REQUEST_URI_KEY`.
==== How to Write a Route Filter ==== How to Write a Route Filter
Route filters are run after pre filters and are used to make requests to other services. Much of the work here is to translate request and response data to and from the client required model. Route filters are run after pre filters and are used to make requests to other services. Much of the work here is to translate request and response data to and from the client required model.
......
...@@ -16,9 +16,6 @@ ...@@ -16,9 +16,6 @@
package org.springframework.cloud.netflix.zuul.filters; package org.springframework.cloud.netflix.zuul.filters;
import static org.springframework.http.HttpHeaders.CONTENT_ENCODING;
import static org.springframework.http.HttpHeaders.CONTENT_LENGTH;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.Collection; import java.util.Collection;
...@@ -45,6 +42,10 @@ import org.springframework.web.util.WebUtils; ...@@ -45,6 +42,10 @@ import org.springframework.web.util.WebUtils;
import com.netflix.zuul.context.RequestContext; import com.netflix.zuul.context.RequestContext;
import com.netflix.zuul.util.HTTPRequestUtils; import com.netflix.zuul.util.HTTPRequestUtils;
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.REQUEST_URI_KEY;
import static org.springframework.http.HttpHeaders.CONTENT_ENCODING;
import static org.springframework.http.HttpHeaders.CONTENT_LENGTH;
import lombok.extern.apachecommons.CommonsLog; import lombok.extern.apachecommons.CommonsLog;
/** /**
...@@ -88,7 +89,7 @@ public class ProxyRequestHelper { ...@@ -88,7 +89,7 @@ public class ProxyRequestHelper {
public String buildZuulRequestURI(HttpServletRequest request) { public String buildZuulRequestURI(HttpServletRequest request) {
RequestContext context = RequestContext.getCurrentContext(); RequestContext context = RequestContext.getCurrentContext();
String uri = request.getRequestURI(); String uri = request.getRequestURI();
String contextURI = (String) context.get("requestURI"); String contextURI = (String) context.get(REQUEST_URI_KEY);
if (contextURI != null) { if (contextURI != null) {
try { try {
uri = UriUtils.encodePath(contextURI, characterEncoding(request)); uri = UriUtils.encodePath(contextURI, characterEncoding(request));
......
...@@ -51,7 +51,7 @@ public interface FilterConstants { ...@@ -51,7 +51,7 @@ public interface FilterConstants {
String REQUEST_ENTITY_KEY = "requestEntity"; String REQUEST_ENTITY_KEY = "requestEntity";
/** /**
* Zuul {@link com.netflix.zuul.context.RequestContext} key for use in TODO: determine use * Zuul {@link com.netflix.zuul.context.RequestContext} key for use in to override the path of the request.
*/ */
String REQUEST_URI_KEY = "requestURI"; String REQUEST_URI_KEY = "requestURI";
......
...@@ -43,6 +43,7 @@ import static org.hamcrest.Matchers.nullValue; ...@@ -43,6 +43,7 @@ import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.MockitoAnnotations.initMocks; import static org.mockito.MockitoAnnotations.initMocks;
import static org.springframework.cloud.netflix.zuul.filters.support.FilterConstants.REQUEST_URI_KEY;
/** /**
* @author Spencer Gibb * @author Spencer Gibb
...@@ -290,7 +291,7 @@ public class ProxyRequestHelperTests { ...@@ -290,7 +291,7 @@ public class ProxyRequestHelperTests {
request.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8");
final RequestContext context = RequestContext.getCurrentContext(); final RequestContext context = RequestContext.getCurrentContext();
context.setRequest(request); context.setRequest(request);
context.set("requestURI", decodedURI); context.set(REQUEST_URI_KEY, decodedURI);
final String requestURI = new ProxyRequestHelper().buildZuulRequestURI(request); final String requestURI = new ProxyRequestHelper().buildZuulRequestURI(request);
assertThat(requestURI, equalTo(encodedURI)); assertThat(requestURI, equalTo(encodedURI));
...@@ -304,7 +305,7 @@ public class ProxyRequestHelperTests { ...@@ -304,7 +305,7 @@ public class ProxyRequestHelperTests {
MockHttpServletRequest request = new MockHttpServletRequest("GET", encodedURI); MockHttpServletRequest request = new MockHttpServletRequest("GET", encodedURI);
final RequestContext context = RequestContext.getCurrentContext(); final RequestContext context = RequestContext.getCurrentContext();
context.setRequest(request); context.setRequest(request);
context.set("requestURI", decodedURI); context.set(REQUEST_URI_KEY, decodedURI);
final String requestURI = new ProxyRequestHelper().buildZuulRequestURI(request); final String requestURI = new ProxyRequestHelper().buildZuulRequestURI(request);
assertThat(requestURI, equalTo(encodedURI)); assertThat(requestURI, equalTo(encodedURI));
...@@ -318,7 +319,7 @@ public class ProxyRequestHelperTests { ...@@ -318,7 +319,7 @@ public class ProxyRequestHelperTests {
request.setCharacterEncoding("UTF-8"); request.setCharacterEncoding("UTF-8");
RequestContext context = RequestContext.getCurrentContext(); RequestContext context = RequestContext.getCurrentContext();
context.set("requestURI", requestURI); context.set(REQUEST_URI_KEY, requestURI);
ProxyRequestHelper helper = new ProxyRequestHelper(); ProxyRequestHelper helper = new ProxyRequestHelper();
...@@ -334,7 +335,7 @@ public class ProxyRequestHelperTests { ...@@ -334,7 +335,7 @@ public class ProxyRequestHelperTests {
MockHttpServletRequest request = new MockHttpServletRequest("GET", requestURI); MockHttpServletRequest request = new MockHttpServletRequest("GET", requestURI);
RequestContext context = RequestContext.getCurrentContext(); RequestContext context = RequestContext.getCurrentContext();
context.set("requestURI", requestURI); context.set(REQUEST_URI_KEY, requestURI);
ProxyRequestHelper helper = new ProxyRequestHelper(); ProxyRequestHelper helper = new ProxyRequestHelper();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment