@Override public String toString() { HttpUriRequest request = getRawRequest(); StringBuilder outBuffer = new StringBuilder(); String endl = "\n"; outBuffer.append("ApacheHttpRequest Info").append(endl); outBuffer.append("type: HttpUriRequest").append(endl); outBuffer.append("uri: ").append(request.getURI().toString()).append(endl); outBuffer.append("headers: "); Arrays.stream(request.getAllHeaders()).forEach(header -> outBuffer.append("[").append(header.getName()).append(":").append(header.getValue()).append("] ") ); outBuffer.append(endl); if (request instanceof HttpEntityEnclosingRequest) { try { String body = EntityUtils.toString(((HttpEntityEnclosingRequest) request).getEntity()); outBuffer.append("body: ").append(body).append(endl); } catch (IOException e) { outBuffer.append("body: ").append(e.getMessage()).append(endl); } } return outBuffer.toString(); } }
HttpPut put = new HttpPut(uri); put.setEntity(((HttpPut) method).getEntity()); put.setHeaders(method.getAllHeaders()); method = put; } else if (method instanceof HttpGet) { HttpPost post = new HttpPost(uri); post.setEntity(((HttpPost) method).getEntity()); post.setHeaders(method.getAllHeaders()); method = post;
public static void assertEqual(RequestBuilder actual, RequestBuilder expect) throws IOException { // Check entity HttpEntity actualEntity = actual.getEntity(); HttpEntity expectedEntity = expect.getEntity(); if (actualEntity == null) { Assert.assertTrue(expectedEntity == null); } else { Assert.assertEquals(actualEntity.getContentLength(), expectedEntity.getContentLength()); String actualContent = IOUtils.toString(actualEntity.getContent(), StandardCharsets.UTF_8); String expectedContent = IOUtils.toString(expectedEntity.getContent(), StandardCharsets.UTF_8); Assert.assertEquals(actualContent, expectedContent); } // Check request HttpUriRequest actualRequest = actual.build(); HttpUriRequest expectedRequest = expect.build(); Assert.assertEquals(actualRequest.getMethod(), expectedRequest.getMethod()); Assert.assertEquals(actualRequest.getURI().toString(), expectedRequest.getURI().toString()); Header[] actualHeaders = actualRequest.getAllHeaders(); Header[] expectedHeaders = expectedRequest.getAllHeaders(); Assert.assertEquals(actualHeaders.length, expectedHeaders.length); for (int i = 0; i < actualHeaders.length; i++) { Assert.assertEquals(actualHeaders[i].toString(), expectedHeaders[i].toString()); } }
public Map<String, String> getAllHeaders() { Header[] origHeaders = request.getAllHeaders(); HashMap<String, String> headers = new HashMap<String, String>(); for (Header h : origHeaders) { headers.put(h.getName(), h.getValue()); } return headers; }
private void log(HttpUriRequest request) { if (logger != null) { List<String> headers = new ArrayList<>(); for (Header h : request.getAllHeaders()) { headers.add(h.toString()); } logger.logRequest(request.getMethod(), request.getURI().toString(), headers, null); } } private void log(HttpEntityEnclosingRequestBase request) {
@Override public Header[] getAllHeaders() { return request.getAllHeaders(); }
public Map<String, String> getAllHeaders() { Header[] origHeaders = request.getAllHeaders(); HashMap<String, String> headers = new HashMap<String, String>(); for (Header h : origHeaders) { headers.put(h.getName(), h.getValue()); } return headers; }
private void log(HttpUriRequest request) { if (logger != null) { List<String> headers = new ArrayList<>(); for (Header h : request.getAllHeaders()) { headers.add(h.toString()); } logger.logRequest(request.getMethod(), request.getURI().toString(), headers, null); } } private void log(HttpEntityEnclosingRequestBase request) {
public final void logRequestHeaders(HttpUriRequest request) { String requestName = request.getClass().getSimpleName(); logger.trace(requestName + " : " + request.toString()); logHeaders(requestName, request.getAllHeaders()); }
/** * Execute the request with the request and response logged at debug level. * @param req request to execute * @param client client to use * @param <M> method type * @return the status code * @throws IOException any failure reported by the HTTP client. */ private <M extends HttpUriRequest> HttpResponse execWithDebugOutput(M req, HttpClient client) throws IOException { if (LOG.isDebugEnabled()) { StringBuilder builder = new StringBuilder( req.getMethod() + " " + req.getURI() + "\n"); for (Header header : req.getAllHeaders()) { builder.append(header.toString()); } LOG.debug(builder.toString()); } HttpResponse resp = client.execute(req); if (LOG.isDebugEnabled()) { LOG.debug("Status code = " + resp.getStatusLine().getStatusCode()); } return resp; }
@Override public String toString() { HttpUriRequest request = getRawRequest(); StringBuilder outBuffer = new StringBuilder(); String endl = "\n"; outBuffer.append("ApacheHttpRequest Info").append(endl); outBuffer.append("type: HttpUriRequest").append(endl); outBuffer.append("uri: ").append(request.getURI().toString()).append(endl); outBuffer.append("headers: "); Arrays.stream(request.getAllHeaders()).forEach(header -> outBuffer.append("[").append(header.getName()).append(":").append(header.getValue()).append("] ") ); outBuffer.append(endl); if (request instanceof HttpEntityEnclosingRequest) { try { String body = EntityUtils.toString(((HttpEntityEnclosingRequest) request).getEntity()); outBuffer.append("body: ").append(body).append(endl); } catch (IOException e) { outBuffer.append("body: ").append(e.getMessage()).append(endl); } } return outBuffer.toString(); } }
Header[] headers = httpMethod.getAllHeaders(); for (Header header: headers) {
Header[] headers = httpMethod.getAllHeaders(); for (Header header: headers) {
/** * Makes the request and returns the String response using the given client, request and query. * * @param client The HttpClient to use. * @param request The HttpUriRequest to make. * @param query The Query object being run. * @return The String response of the call, null if exception (query is failed). */ String makeRequest(HttpClient client, HttpUriRequest request, Query query) { try { log.info("{}ing to {} with headers {}", request.getMethod(), request.getURI(), request.getAllHeaders()); HttpResponse response = client.execute(request); StatusLine line = response.getStatusLine(); log.info("Received {}: {} with headers {}", line.getStatusCode(), line.getReasonPhrase(), response.getAllHeaders()); String data = EntityUtils.toString(response.getEntity()); log.info("Received response as string {}", data); return data; } catch (IOException ioe) { log.error("Could not execute request", ioe); query.setFailure("Could not execute request"); query.addMessage(ioe.toString()); } catch (NullPointerException npe) { log.error("Received no response", npe); query.setFailure("Received no response"); query.addMessage(npe.toString()); } return null; }
responseHandler.setRequestHeaders(uriRequest.getAllHeaders()); responseHandler.setRequestURI(uriRequest.getURI());
/** * デバッグ用. * @param req デバッグ出力するRequestオブジェクト * @param body デバッグ出力するリクエストボディ */ private void debugHttpRequest(final HttpUriRequest req, final String body) { log.debug(req.getURI()); if (log.isDebugEnabled()) { log.debug("【Request】 " + req.getMethod() + " " + req.getURI()); Header[] headers = req.getAllHeaders(); for (int i = 0; i < headers.length; i++) { log.debug("RequestHeader[" + headers[i].getName() + "] : " + headers[i].getValue()); } log.debug("RequestBody: " + body); } } }
for (Header header : httpUriRequest.getAllHeaders()) { signedRequest.addHeader(header);
@Override protected void attachSignature(final HttpUriRequest request, final NeptuneSigV4Signature signature) throws NeptuneSigV4SignerException { // make sure the request is not null and contains the minimal required set of information checkNotNull(signature, "The signature must not be null"); checkNotNull(signature.getHostHeader(), "The signed Host header must not be null"); checkNotNull(signature.getXAmzDateHeader(), "The signed X-AMZ-DATE header must not be null"); checkNotNull(signature.getAuthorizationHeader(), "The signed Authorization header must not be null"); final Header[] headers = request.getAllHeaders(); // Check if host header is present in the request headers. Optional<String> hostHeaderName = Optional.empty(); for (final Header header: headers) { if (header.getName().equalsIgnoreCase(HOST)) { hostHeaderName = Optional.of(header.getName()); } } // Remove the host header from the request as we are going to add the host header from the signed request. // This also ensures that the right header name is used. hostHeaderName.ifPresent(request::removeHeaders); request.setHeader(HOST, signature.getHostHeader()); request.setHeader(X_AMZ_DATE, signature.getXAmzDateHeader()); request.setHeader(AUTHORIZATION, signature.getAuthorizationHeader()); // https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html // For temporary security credentials, it requires an additional HTTP header // or query string parameter for the security token. The name of the header // or query string parameter is X-Amz-Security-Token, and the value is the session token. if (!signature.getSessionToken().isEmpty()) { request.setHeader(X_AMZ_SECURITY_TOKEN, signature.getSessionToken()); } }
for (Header header : request.getAllHeaders()) { LOG.debug("HTTP header being sent: " + header);
for (Header header : request.getAllHeaders()) { LOG.debug("HTTP header being sent: " + header);