@Override public void start() throws Exception { vertx.createHttpServer().requestHandler(req -> { System.out.println("Got request with query params: " + req.query()); req.response().end(); }).listen(8080, listenResult -> { if (listenResult.failed()) { System.out.println("Could not start HTTP server"); listenResult.cause().printStackTrace(); } else { System.out.println("Server started"); } }); } }
private void testParams(char delim) { Map<String, String> params = genMap(10); String query = generateQueryString(params, delim); server.requestHandler(req -> { assertEquals(query, req.query()); assertEquals(params.size(), req.params().size()); for (Map.Entry<String, String> entry : req.params()) { assertEquals(entry.getValue(), params.get(entry.getKey())); } req.response().end(); }); server.listen(onSuccess(server -> { client.request(HttpMethod.GET, DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "some-uri/?" + query, resp -> testComplete()).end(); })); await(); }
@Test public void testNoParams() { server.requestHandler(req -> { assertNull(req.query()); assertTrue(req.params().isEmpty()); req.response().end(); }); server.listen(onSuccess(server -> { client.request(HttpMethod.GET, DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> testComplete()).end(); })); await(); }
private void testSimpleRequest(String uri, HttpMethod method, HttpClientRequest request, boolean absolute) { int index = uri.indexOf('?'); String query; String path; if (index == -1) { path = uri; query = null; } else { path = uri.substring(0, index); query = uri.substring(index + 1); } String resource = absolute && path.isEmpty() ? "/" + path : path; server.requestHandler(req -> { String expectedPath = req.method() == HttpMethod.CONNECT && req.version() == HttpVersion.HTTP_2 ? null : resource; String expectedQuery = req.method() == HttpMethod.CONNECT && req.version() == HttpVersion.HTTP_2 ? null : query; assertEquals(expectedPath, req.path()); assertEquals(method, req.method()); assertEquals(expectedQuery, req.query()); req.response().end(); }); server.listen(onSuccess(server -> request.end())); await(); }
@Override public String getQueryString() { return this.vertxRequest.query(); }
@Override public String query() { return delegate.query(); }
@Override public String getFormattedItem(AccessLogParam<RoutingContext> accessLogParam) { HttpServerRequest request = accessLogParam.getContextData().request(); if (null == request) { return EMPTY_RESULT; } String query = request.query(); if (StringUtils.isEmpty(query)) { return EMPTY_RESULT; } return query; } }
@Override public String getQueryString() { return this.vertxRequest.query(); }
@Override public String query() { return request.query(); }
/** * @return the query part of the uri. For example someparam=32&someotherparam=x */ public String query() { String ret = delegate.query(); return ret; }
private void testParams(char delim) { Map<String, String> params = genMap(10); String query = generateQueryString(params, delim); server.requestHandler(req -> { assertEquals(query, req.query()); assertEquals(params.size(), req.params().size()); for (Map.Entry<String, String> entry : req.params()) { assertEquals(entry.getValue(), params.get(entry.getKey())); } req.response().end(); }); server.listen(onSuccess(server -> { client.request(HttpMethod.GET, DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "some-uri/?" + query, resp -> testComplete()).end(); })); await(); }
@Test public void testNoParams() { server.requestHandler(req -> { assertNull(req.query()); assertTrue(req.params().isEmpty()); req.response().end(); }); server.listen(onSuccess(server -> { client.request(HttpMethod.GET, DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, DEFAULT_TEST_URI, resp -> testComplete()).end(); })); await(); }
private void testSimpleRequest(String uri, HttpMethod method, HttpClientRequest request, boolean absolute) { int index = uri.indexOf('?'); String query; String path; if (index == -1) { path = uri; query = null; } else { path = uri.substring(0, index); query = uri.substring(index + 1); } String resource = absolute && path.isEmpty() ? "/" + path : path; server.requestHandler(req -> { String expectedPath = req.method() == HttpMethod.CONNECT && req.version() == HttpVersion.HTTP_2 ? null : resource; String expectedQuery = req.method() == HttpMethod.CONNECT && req.version() == HttpVersion.HTTP_2 ? null : query; assertEquals(expectedPath, req.path()); assertEquals(method, req.method()); assertEquals(expectedQuery, req.query()); req.response().end(); }); server.listen(onSuccess(server -> request.end())); await(); }
@Override public @Nullable String query() { return request.query(); }
@Test public void testOverwriteQueryParams() throws Exception { testRequest(client -> client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/?param=param_value1").setQueryParam("param", "param_value2"), req -> { assertEquals("param=param_value2", req.query()); assertEquals("param_value2", req.getParam("param")); }); }
@Test public void testQueryParam() throws Exception { testRequest(client -> client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/").addQueryParam("param", "param_value"), req -> { assertEquals("param=param_value", req.query()); assertEquals("param_value", req.getParam("param")); }); }
@Test public void testQueryParamAppend() throws Exception { testRequest(client -> client.get(DEFAULT_HTTP_PORT, DEFAULT_HTTP_HOST, "/?param1=param1_value1").addQueryParam("param1", "param1_value2").addQueryParam("param2", "param2_value"), req -> { assertEquals("param1=param1_value1¶m1=param1_value2¶m2=param2_value", req.query()); assertEquals("param1_value1", req.getParam("param1")); assertEquals("param2_value", req.getParam("param2")); }); }