Example usage for io.vertx.core.http HttpClientRequest method

List of usage examples for io.vertx.core.http HttpClientRequest method

Introduction

In this page you can find the example usage for io.vertx.core.http HttpClientRequest method.

Prototype

HttpMethod method();

Source Link

Document

The HTTP method for the request.

Usage

From source file:com.cyngn.vertx.opentsdb.spi.HttpClientMetricsImpl.java

License:Apache License

@Override
public HttpMetric requestBegin(SocketMetric socketMetric, SocketAddress localAddress,
        SocketAddress remoteAddress, HttpClientRequest request) {
    socketMetric.bytesRead = 0;//from ww  w.  j  a  va  2s  .  c  o  m
    socketMetric.bytesWritten = 0;
    return new HttpMetric(socketMetric, request.method(), request.uri(), true);
}

From source file:io.gravitee.gateway.http.connector.VertxHttpClient.java

License:Apache License

private void handleClientResponse(final VertxProxyConnection proxyConnection,
        final HttpClientResponse clientResponse, final HttpClientRequest clientRequest) {
    VertxProxyResponse proxyClientResponse = new VertxProxyResponse(clientResponse);
    proxyConnection.setProxyResponse(proxyClientResponse);

    // Copy HTTP headers
    clientResponse.headers().names().forEach(headerName -> proxyClientResponse.headers().put(headerName,
            clientResponse.headers().getAll(headerName)));

    proxyClientResponse.pause();//  w w w .  j a v a  2 s  . c o m

    // Copy body content
    clientResponse.handler(event -> proxyClientResponse.bodyHandler().handle(Buffer.buffer(event.getBytes())));

    // Signal end of the response
    clientResponse.endHandler(v -> proxyClientResponse.endHandler().handle(null));

    clientResponse.exceptionHandler(throwable -> {
        LOGGER.error("Unexpected error while handling backend response for request {} {} - {}",
                clientRequest.method(), clientRequest.absoluteURI(), throwable.getMessage());
        ProxyResponse clientResponse1 = new EmptyProxyResponse(HttpStatusCode.BAD_GATEWAY_502);

        proxyConnection.handleResponse(clientResponse1);
    });

    proxyConnection.handleResponse(proxyClientResponse);
}

From source file:io.nitor.api.backend.proxy.SimpleLogProxyTracer.java

License:Apache License

String dumpCReq(HttpClientRequest req) {
    return "\n\t" + req.method().name() + " " + req.uri() + dumpHeaders(req.headers(), "\t");
}

From source file:io.nitor.api.backend.s3.AWSRequestSigner.java

License:Apache License

public void copyHeadersAndSign(HttpServerRequest sreq, HttpClientRequest creq, byte[] body) {
    MessageDigest sha256 = SHA256_POOL.get();
    String contentHash;//from w w w . j  a v a 2  s.  c  o  m
    if (body == null) {
        contentHash = UNSIGNED_PAYLOAD;
    } else {
        sha256.reset();
        contentHash = hexDump(sha256.digest(body));
    }
    MultiMap headers = creq.headers();

    String dateTime = dateTimeFormat.format(clock.instant());
    String date = dateTime.substring(0, 8);

    AwsCredentials secrets = secretsProvider.resolveCredentials();

    StringBuilder signedHeaders = new StringBuilder(64);
    StringBuilder sb = new StringBuilder(256);
    sb.append(creq.method().name()).append('\n');
    uriEncode(creq.path(), false, sb);
    sb.append('\n');
    String query = creq.query();
    if (query != null) {
        String[] split = query.split("&");
        Arrays.sort(split);
        query = String.join("&", split);
        sb.append(query);
    }
    sb.append('\n');
    putHeader(headers, sb, signedHeaders, "date", sreq);
    putHeader(headers, sb, signedHeaders, "host", serviceHost);
    putHeader(headers, sb, signedHeaders, "if-modified-since", sreq);
    putHeader(headers, sb, signedHeaders, "if-none-match", sreq);
    putHeader(headers, sb, signedHeaders, "range", sreq);
    putHeader(headers, sb, signedHeaders, "x-amz-content-sha256", contentHash);
    putHeader(headers, sb, signedHeaders, "x-amz-date", dateTime);
    if (secrets instanceof AwsSessionCredentials) {
        putHeader(headers, sb, signedHeaders, "x-amz-security-token",
                ((AwsSessionCredentials) secrets).sessionToken());
    }
    putHeader(headers, sb, signedHeaders, "x-amz-storage-class", sreq);
    signedHeaders.setLength(signedHeaders.length() - 1);
    sb.append('\n').append(signedHeaders).append('\n');
    sb.append(contentHash);

    sha256.reset();
    String hashedCanonicalRequest = hexDump(sha256.digest(sb.toString().getBytes(ISO_8859_1)));
    sb.setLength(0);
    sb.append("AWS4-HMAC-SHA256\n").append(dateTime).append('\n').append(date).append(signingRegion)
            .append('\n').append(hashedCanonicalRequest);

    Mac hmac = HMACSHA256_POOL.get();
    String signature = hexDump(hmacSHA256(hmac, signingKey(hmac, date, secrets), sb.toString()));

    sb.setLength(0);
    sb.append("AWS4-HMAC-SHA256 ").append("Credential=").append(secrets.accessKeyId()).append('/').append(date)
            .append(signingRegion).append(",SignedHeaders=").append(signedHeaders).append(",Signature=")
            .append(signature);

    headers.set(AUTHORIZATION, sb.toString());
}

From source file:org.apache.servicecomb.config.client.ConfigCenterClient.java

License:Apache License

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 -> {//w  w  w.  j a  va 2  s .  co m
                        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();
        });
    }
}