List of usage examples for io.vertx.core.http HttpServerRequest remoteAddress
@CacheReturn
default SocketAddress remoteAddress()
From source file:com.navercorp.pinpoint.plugin.vertx.interceptor.HttpServerRequestAdaptor.java
License:Apache License
@Override public String getRemoteAddress(HttpServerRequest request) { final SocketAddress socketAddress = request.remoteAddress(); if (socketAddress != null) { return socketAddress.toString(); }/*from ww w . ja v a 2s.c o m*/ return "unknown"; }
From source file:com.navercorp.pinpoint.plugin.vertx.interceptor.ServerConnectionHandleRequestInterceptor.java
License:Apache License
private Trace createTrace(final HttpServerRequest request) { final String requestURI = request.path(); if (requestURI != null && excludeUrlFilter.filter(requestURI)) { // skip request. if (isTrace) { logger.trace("filter requestURI:{}", requestURI); }// ww w . j av a 2 s. c o m return null; } final boolean sampling = samplingEnable(request); if (!sampling) { final Trace trace = traceContext.disableSampling(); if (isDebug) { logger.debug("Remote call sampling flag found. skip trace requestUrl:{}, remoteAddr:{}", request.path(), request.remoteAddress()); } if (!initScope(trace)) { // invalid scope. deleteTrace(trace); return null; } return trace; } final TraceId traceId = populateTraceIdFromRequest(request); if (traceId != null) { final Trace trace = traceContext.continueAsyncTraceObject(traceId); if (trace.canSampled()) { final SpanRecorder recorder = trace.getSpanRecorder(); recordRootSpan(recorder, request); if (isDebug) { logger.debug("TraceID exist. continue trace. traceId:{}, requestUrl:{}, remoteAddr:{}", traceId, request.path(), request.remoteAddress()); } } else { if (isDebug) { logger.debug( "TraceID exist. camSampled is false. skip trace. traceId:{}, requestUrl:{}, remoteAddr:{}", traceId, request.path(), request.remoteAddress()); } } if (!initScope(trace)) { // invalid scope. deleteTrace(trace); return null; } return trace; } else { // make asynchronous trace. final Trace trace = traceContext.newAsyncTraceObject(); if (trace.canSampled()) { final SpanRecorder recorder = trace.getSpanRecorder(); recordRootSpan(recorder, request); if (isDebug) { logger.debug("TraceID not exist. start new trace. requestUrl:{}, remoteAddr:{}", request.path(), request.remoteAddress()); } } else { if (isDebug) { logger.debug("TraceID not exist. camSampled is false. skip trace. requestUrl:{}, remoteAddr:{}", request.path(), request.remoteAddress()); } } if (!initScope(trace)) { // invalid scope. deleteTrace(trace); return null; } return trace; } }
From source file:gribbit.util.Log.java
License:Open Source License
/** Produce log line in Common Log Format -- https://en.wikipedia.org/wiki/Common_Log_Format */ private static String produceLogLine(HttpServerRequest request, Response response) { StringBuilder buf = new StringBuilder(); buf.append(request == null ? "-" : request.remoteAddress()); buf.append(" - - ["); buf.append(ZonedDateTime.now().format(LOG_TIME_FORMATTER)); buf.append("] \""); buf.append(request == null ? "-" : request.method()); buf.append(' '); buf.append(request == null ? "-" : request.uri()); buf.append(' '); buf.append('-'); // Not sure how to read HTTP version from vertx request buf.append("\" "); buf.append(response == null ? "-" : Integer.toString(response.getStatus().code())); buf.append(' '); buf.append("-"); // Content-Length is calculated by Vert.x, so is unknown here return buf.toString(); }
From source file:io.advantageous.qbit.vertx.http.server.VertxServerUtils.java
License:Apache License
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(); }
From source file:io.apiman.gateway.platforms.vertx3.http.HttpApiFactory.java
License:Apache License
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);//from w w w .j av a2 s . c o m return apimanRequest; }
From source file:io.apiman.gateway.platforms.vertx3.http.HttpServiceFactory.java
License:Apache License
public static VertxServiceRequest buildRequest(HttpServerRequest req, boolean isTransportSecure) { VertxServiceRequest apimanRequest = new VertxServiceRequest(); 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()); mungePath(req, apimanRequest);/*from ww w .j av a 2 s. c o m*/ return apimanRequest; }
From source file:io.helixservice.feature.restservice.controller.VertxRequestHandler.java
License:Open Source License
/** * Handles incoming Vert.x request, forwarding it to the appropriate controller. * * @param event Vert.x Web request context *///from w ww . ja v a 2 s. c om @Suspendable public void handle(RoutingContext event) { Request<?> request = null; RequestMetricsPublisher requestMetricsPublisher = new RequestMetricsPublisher(eventBus, path); try { HttpServerRequest vertxRequest = event.request(); requestMetricsPublisher.setHttpMethod(event.request().method().name()); request = new Request<>(vertxRequest.method().name(), vertxRequest.uri(), VertxTypeConverter.toGuavaMultimap(vertxRequest.params()), VertxTypeConverter.toGuavaMultimap(vertxRequest.headers()), unmarshalRequestBody(event), vertxRequest.remoteAddress().host(), vertxRequest.version().name()); Response response; Method method = endpoint.getEndpointMethod(); if (method != null) { response = (Response) method.invoke(endpoint.getController(), request); } else { EndpointHandler endpointHandler = this.endpoint.getEndpointHandler(); response = endpointHandler.handle(request); } //noinspection unchecked event.response().headers().addAll(VertxTypeConverter.toVertxMultiMap(response.getHeaders())); Message responseMessage = marshalResponseBody(response); Buffer responseBuffer = Buffer.buffer(responseMessage.getBody()); event.response().setChunked(true).setStatusCode(response.getHttpStatusCode()) .putHeader(CONTENT_TYPE, responseMessage.getContentTypes()).write(responseBuffer).end(); requestMetricsPublisher.setResponseSize(responseBuffer.length()); requestMetricsPublisher .setSuccess(response.getHttpStatusCode() >= 200 && response.getHttpStatusCode() <= 299); } catch (InvocationTargetException t) { int responseSize = handleErrorResponse(event, request, t.getCause()); requestMetricsPublisher.setResponseSize(responseSize); } catch (Throwable t) { int responseSize = handleErrorResponse(event, request, t); requestMetricsPublisher.setResponseSize(responseSize); } finally { requestMetricsPublisher.publish(); } }
From source file:io.helixservice.feature.restservice.filter.FilterHandler.java
License:Open Source License
private Request<byte[]> buildRequest(RoutingContext routingContext) { HttpServerRequest vertxRequest = routingContext.request(); return new Request<>(vertxRequest.method().name(), vertxRequest.uri(), VertxTypeConverter.toGuavaMultimap(vertxRequest.params()), VertxTypeConverter.toGuavaMultimap(vertxRequest.headers()), routingContext.getBody().getBytes(), vertxRequest.remoteAddress().host(), vertxRequest.version().name()); }
From source file:org.apache.servicecomb.transport.rest.vertx.accesslog.element.impl.RemoteHostItem.java
License:Apache License
@Override public String getFormattedItem(AccessLogParam<RoutingContext> accessLogParam) { HttpServerRequest request = accessLogParam.getContextData().request(); if (null == request) { return EMPTY_RESULT; }/*w w w .j a v a 2s . com*/ SocketAddress remoteAddress = request.remoteAddress(); if (null == remoteAddress) { return EMPTY_RESULT; } String remoteHost = remoteAddress.host(); if (StringUtils.isEmpty(remoteHost)) { return EMPTY_RESULT; } return remoteHost; }
From source file:org.pac4j.vertx.VertxWebContext.java
License:Apache License
public VertxWebContext(final RoutingContext routingContext) { final HttpServerRequest request = routingContext.request(); this.routingContext = routingContext; this.method = request.method().toString(); this.fullUrl = request.absoluteURI(); URI uri;//from www .jav a2s .co m try { uri = new URI(fullUrl); } catch (URISyntaxException e) { e.printStackTrace(); throw new InvalidParameterException( "Request to invalid URL " + fullUrl + " while constructing VertxWebContext"); } this.scheme = uri.getScheme(); this.serverName = uri.getHost(); this.serverPort = (uri.getPort() != -1) ? uri.getPort() : scheme.equals("http") ? 80 : 443; this.remoteAddress = request.remoteAddress().toString(); headers = new JsonObject(); for (String name : request.headers().names()) { headers.put(name, request.headers().get(name)); } parameters = new JsonObject(); for (String name : request.params().names()) { parameters.put(name, new JsonArray(Arrays.asList(request.params().getAll(name).toArray()))); } mapParameters = new HashMap<>(); for (String name : parameters.fieldNames()) { JsonArray params = parameters.getJsonArray(name); String[] values = new String[params.size()]; int i = 0; for (Object o : params) { values[i++] = (String) o; } mapParameters.put(name, values); } }