use of com.netflix.zuul.message.http.HttpQueryParams in project zuul by Netflix.
the class OriginResponseReceiver method pathAndQueryString.
private static String pathAndQueryString(HttpRequestMessage request) {
// parsing the params cleans up any empty/null params using the logic of the HttpQueryParams class
final HttpQueryParams cleanParams = HttpQueryParams.parse(request.getQueryParams().toEncodedString());
final String cleanQueryStr = cleanParams.toEncodedString();
if (cleanQueryStr == null || cleanQueryStr.isEmpty()) {
return request.getPath();
} else {
return request.getPath() + "?" + cleanParams.toEncodedString();
}
}
use of com.netflix.zuul.message.http.HttpQueryParams in project zuul by Netflix.
the class ZuulFilterChainRunnerTest method before.
@Before
public void before() {
SessionContext context = new SessionContext();
Headers headers = new Headers();
ChannelHandlerContext chc = mock(ChannelHandlerContext.class);
when(chc.executor()).thenReturn(ImmediateEventExecutor.INSTANCE);
context.put(NETTY_SERVER_CHANNEL_HANDLER_CONTEXT, chc);
request = new HttpRequestMessageImpl(context, "http", "GET", "/foo/bar", new HttpQueryParams(), headers, "127.0.0.1", "http", 8080, "server123");
request.storeInboundRequest();
response = new HttpResponseMessageImpl(context, request, 200);
}
use of com.netflix.zuul.message.http.HttpQueryParams in project zuul by Netflix.
the class HttpUtilsTest method getBodySizeIfKnown_returnsResponseBodySize.
@Test
public void getBodySizeIfKnown_returnsResponseBodySize() {
SessionContext context = new SessionContext();
Headers headers = new Headers();
HttpQueryParams queryParams = new HttpQueryParams();
HttpRequestMessage request = new HttpRequestMessageImpl(context, "http", "GET", "/path", queryParams, headers, "127.0.0.1", "scheme", 6666, "server-name");
request.storeInboundRequest();
HttpResponseMessage response = new HttpResponseMessageImpl(context, request, 200);
response.setBodyAsText("Hello world");
assertThat(HttpUtils.getBodySizeIfKnown(response)).isEqualTo(Integer.valueOf(11));
}
use of com.netflix.zuul.message.http.HttpQueryParams in project zuul by Netflix.
the class DebugTest method setup.
@Before
public void setup() {
ctx = new SessionContext();
headers = new Headers();
headers.add("lah", "deda");
params = new HttpQueryParams();
params.add("k1", "v1");
request = new HttpRequestBuilder(ctx).withMethod(HttpMethod.POST).withUri("/some/where").withHeaders(headers).withQueryParams(params).build();
request.setBodyAsText("some text");
request.storeInboundRequest();
response = new HttpResponseMessageImpl(ctx, headers, request, 200);
response.setBodyAsText("response text");
}
use of com.netflix.zuul.message.http.HttpQueryParams in project zuul by Netflix.
the class SurgicalDebugFilter method apply.
@Override
public HttpRequestMessage apply(HttpRequestMessage request) {
DynamicStringProperty routeVip = new DynamicStringProperty(ZuulConstants.ZUUL_DEBUG_VIP, null);
DynamicStringProperty routeHost = new DynamicStringProperty(ZuulConstants.ZUUL_DEBUG_HOST, null);
SessionContext ctx = request.getContext();
if (routeVip.get() != null || routeHost.get() != null) {
ctx.set("routeHost", routeHost.get());
ctx.set("routeVIP", routeVip.get());
request.getHeaders().set(ZuulHeaders.X_ZUUL_SURGICAL_FILTER, "true");
HttpQueryParams queryParams = request.getQueryParams();
queryParams.set("debugRequest", "true");
ctx.setDebugRequest(true);
ctx.set("zuulToZuul", true);
}
return request;
}
Aggregations