@Override public String getFormattedItem(AccessLogParam<RoutingContext> accessLogParam) { HttpServerRequest request = accessLogParam.getContextData().request(); if (null == request) { return EMPTY_RESULT; } HttpMethod method = request.method(); if (null == method) { return EMPTY_RESULT; } return method.toString(); } }
/** * Handle a vertx request by converting it into a QBit request. * * @param request request */ private void handleHttpRequest(final HttpServerRequest request) { if (debug) { setupMetrics(request); logger.debug("HttpServerVertx::handleHttpRequest::{}:{}", request.method(), request.uri()); } switch (request.method().toString()) { case "PUT": case "POST": case "OPTIONS": case "TRACE": case "DELETE": case "CONNECT": handleRequestWithBody(request); break; case "HEAD": case "GET": handleRequestWithNoBody(request); break; default: throw new IllegalStateException("method not supported yet " + request.method()); } }
SignRequest signReq = createSignRequest(requestContext.getMethod().toString(), requestContext.getIpPort(), requestContext.getParams(),
request.headers().addAll(headers); authHeaderProviders.forEach(provider -> request.headers() .addAll(provider.getSignAuthHeaders(createSignRequest(request.method().toString(), configcenter + path, headers,
switch (request.method().toString()) {
public HttpRequest createRequest(final HttpServerRequest request, final Supplier<Buffer> buffer, final Map<String, Object> data, final CopyOnWriteArrayList<HttpResponseDecorator> decorators, final HttpResponseCreator httpResponseCreator) { final MultiMap<String, String> headers = request.headers().size() == 0 ? MultiMap.empty() : new MultiMapWrapper(request.headers()); final String contentType = request.headers().get("Content-Type"); final String contentLengthHeaderValue = request.headers().get("Content-Length"); final int contentLength = contentLengthHeaderValue == null ? 0 : Integer.parseInt(contentLengthHeaderValue); final HttpRequestBuilder httpRequestBuilder = HttpRequestBuilder.httpRequestBuilder(); buildParams(httpRequestBuilder, request, contentType); final MultiMap<String, String> params = httpRequestBuilder.getParams(); final String requestPath = request.path(); httpRequestBuilder.setId(requestId.incrementAndGet()) .setContentLength(contentLength) .setData(data) .setUri(requestPath).setMethod(request.method().toString()) .setBodySupplier(() -> buffer == null ? null : buffer.get().getBytes()) .setRemoteAddress(request.remoteAddress().toString()) .setResponse(createResponse(requestPath, request.method().toString(), headers, params, request.response(), decorators, httpResponseCreator)) .setTimestamp(time == 0L ? Timer.timer().now() : time) .setHeaders(headers); return httpRequestBuilder.build(); }
private void refreshMembers(MemberDiscovery memberDiscovery) { if (CONFIG_CENTER_CONFIG.getAutoDiscoveryEnabled()) { String configCenter = memberDiscovery.getConfigServer(); IpPort ipPort = NetUtils.parseIpPortFromURI(configCenter); clientMgr.findThreadBindClientPool().runOnContext(client -> { HttpClientRequest request = client.get(ipPort.getPort(), ipPort.getHostOrIp(), uriConst.MEMBERS, rsp -> { if (rsp.statusCode() == HttpResponseStatus.OK.code()) { rsp.bodyHandler(buf -> { memberDiscovery.refreshMembers(buf.toJsonObject()); }); } }); SignRequest signReq = createSignRequest(request.method().toString(), configCenter + uriConst.MEMBERS, new HashMap<>(), null); if (ConfigCenterConfig.INSTANCE.getToken() != null) { request.headers().add("X-Auth-Token", ConfigCenterConfig.INSTANCE.getToken()); } authHeaderProviders.forEach(provider -> request.headers() .addAll(provider.getSignAuthHeaders(signReq))); request.exceptionHandler(e -> { LOGGER.error("Fetch member from {} failed. Error message is [{}].", configCenter, e.getMessage()); }); request.end(); }); } }
private static boolean filterRequestMethod(HttpServerRequest request, String method) { Pattern methodPattern = Pattern.compile(method); Matcher methodMatcher = methodPattern.matcher(request.method().toString()); return methodMatcher.matches(); }
private static boolean filterRequestMethod(HttpServerRequest request, String method) { Pattern methodPattern = Pattern.compile(method); Matcher methodMatcher = methodPattern.matcher(request.method().toString()); return methodMatcher.matches(); }
@Override public String toString() { String prefix = " "; // to improve formatting ... prefix = prefix.substring(0, prefix.length() - (method == null ? 0 : method.toString().length())); String security = ""; if (checkSecurity()) { if (permitAll != null) { security = permitAll ? " @PermitAll" : " @DenyAll"; } else { security = " [" + StringUtils.join(roles, ", ") + "]"; } } return prefix + (method == null ? ">undefined<" : method) + " " + routePath + security + (pathIsRegEx() ? "[regex]" : ""); } }
@Override public void onReroute(final HttpServerRequest request, final Span span) { LOG.trace("logging re-routed request [method: {}, URI: {}", request.method(), request.absoluteURI()); final Map<String, String> logs = new HashMap<>(3); logs.put(Fields.EVENT, "reroute"); logs.put(Tags.HTTP_URL.getKey(), request.absoluteURI()); logs.put(Tags.HTTP_METHOD.getKey(), request.method().toString()); span.log(logs); }
@Override public void onReroute(final HttpServerRequest request, final Span span) { LOG.trace("logging re-routed request [method: {}, URI: {}", request.method(), request.absoluteURI()); final Map<String, String> logs = new HashMap<>(3); logs.put(Fields.EVENT, "reroute"); logs.put(Tags.HTTP_URL.getKey(), request.absoluteURI()); logs.put(Tags.HTTP_METHOD.getKey(), request.method().toString()); span.log(logs); }
@Override public String getFormattedItem(AccessLogParam<RoutingContext> accessLogParam) { HttpServerRequest request = accessLogParam.getContextData().request(); if (null == request) { return EMPTY_RESULT; } HttpMethod method = request.method(); if (null == method) { return EMPTY_RESULT; } return method.toString(); } }
@Test public void whenConfigWithGetRouting_expectTwoRoutings() { assertThat(engineRouting.get(HttpMethod.GET.toString()).getItems().size(), equalTo(2)); assertThat(engineRouting.get(HttpMethod.GET.toString()).getItems().get(FIRST_IDX).getPath(), equalTo(".*/local/.*\\.html")); assertThat(engineRouting.get(HttpMethod.GET.toString()).getItems().get(FIRST_IDX).getAddress(), equalTo("A-engine")); assertThat(engineRouting.get(HttpMethod.GET.toString()).getItems().get(SECOND_IDX).getPath(), equalTo(".*\\.html")); assertThat(engineRouting.get(HttpMethod.GET.toString()).getItems().get(SECOND_IDX).getAddress(), equalTo("C-engine")); }
@Test public void whenConfigWithPostRouting_expectTwoRoutings() { assertThat(engineRouting.get(HttpMethod.POST.toString()).getItems().size(), equalTo(2)); assertThat(engineRouting.get(HttpMethod.POST.toString()).getItems().get(FIRST_IDX).getPath(), equalTo(".*/local/.*\\.html")); assertThat(engineRouting.get(HttpMethod.POST.toString()).getItems().get(FIRST_IDX).getAddress(), equalTo("A-post-engine")); assertThat(engineRouting.get(HttpMethod.POST.toString()).getItems().get(SECOND_IDX).getPath(), equalTo(".*\\.html")); assertThat(engineRouting.get(HttpMethod.POST.toString()).getItems().get(SECOND_IDX).getAddress(), equalTo("B-engine")); }
@Override public void onRequest(final HttpServerRequest request, final Span span) { LOG.trace("starting span for request [method: {}, URI: {}", request.method(), request.absoluteURI()); Tags.HTTP_METHOD.set(span, request.method().toString()); Tags.HTTP_URL.set(span, request.absoluteURI()); tags.forEach((key, value) -> { span.setTag(key, value); }); }
@Override public void onRequest(final HttpServerRequest request, final Span span) { LOG.trace("starting span for request [method: {}, URI: {}", request.method(), request.absoluteURI()); Tags.HTTP_METHOD.set(span, request.method().toString()); Tags.HTTP_URL.set(span, request.absoluteURI()); tags.forEach((key, value) -> { span.setTag(key, value); }); }
public HttpMetricsImpl(MetricRegistry registry, String baseName, SocketAddress localAddress) { super(registry, baseName); openWebSockets = counter("open-websockets"); requests = throughputTimer("requests"); responses = new ThroughputMeter[]{ throughputMeter("responses-1xx"), throughputMeter("responses-2xx"), throughputMeter("responses-3xx"), throughputMeter("responses-4xx"), throughputMeter("responses-5xx") }; methodRequests = new EnumMap<>(HttpMethod.class); for (HttpMethod method : HttpMethod.values()) { methodRequests.put(method, throughputTimer(method.toString().toLowerCase() + "-requests")); } }
public static ApiRequest buildRequest(HttpServerRequest req, boolean isTransportSecure) { ApiRequest apimanRequest = new ApiRequest(); apimanRequest.setApiKey(parseApiKey(req)); apimanRequest.setRemoteAddr(req.remoteAddress().host()); apimanRequest.setType(req.method().toString()); apimanRequest.setTransportSecure(isTransportSecure); multimapToMap(apimanRequest.getHeaders(), req.headers(), IGNORESET); multimapToMap(apimanRequest.getQueryParams(), req.params(), Collections.<String>emptySet()); parsePath(req, apimanRequest); return apimanRequest; }