@Override public ClientResponse handle(ClientRequest request) { // If 'Accept-Encoding' is not set, assume gzip as a default if (!request.getHeaders().containsKey(HttpHeaders.ACCEPT_ENCODING)) { request.getHeaders().add(HttpHeaders.ACCEPT_ENCODING, GZIP_ENCODING); } if (request.getEntity() != null) { Object requestEncoding = request.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (GZIP_ENCODING.equals(requestEncoding)) { request.setAdapter(new GzipAdapter(request.getAdapter())); } else if (isCompressionEnabled()) { request.getHeaders().add(HttpHeaders.CONTENT_ENCODING, GZIP_ENCODING); request.setAdapter(new GzipAdapter(request.getAdapter())); } } ClientResponse response = getNext().handle(request); String responseEncoding = response.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (response.hasEntity() && GZIP_ENCODING.equals(responseEncoding)) { response.getHeaders().remove(HttpHeaders.CONTENT_ENCODING); decompressResponse(response); } return response; }
@Override public Object getEntity() { return request.getEntity(); }
@Override public Object getEntity() { return clientRequest.getEntity(); }
@Override public Object getEntity() { return request.getEntity(); }
@Override public Object getEntity() { return clientRequest.getEntity(); }
public class JerseyClientFilter extends ClientFilter { @Override public ClientResponse handle(ClientRequest request) { long startTime = System.currentTimeMillis(); // execute call... ClientResponse response = getNext().handle(request); // build log... StringBuilder sb = new StringBuilder(); sb.append("HTTP:").append(response.getStatus()); sb.append(" - Time:[").append(System.currentTimeMillis() - startTime).append("ms]"); sb.append(" - User:").append(this.findLogon(request)); sb.append(" - Path:").append(request.getURI()); sb.append(" - Content-type:").append(request.getHeaders().get(HttpHeaders.CONTENT_TYPE)); sb.append(" - Accept:").append(request.getHeaders().get(HttpHeaders.ACCEPT)); sb.append(" - RequestBody:").append(request.getEntity() != null ? request.getEntity().toString() : "none"); sb.append(" - ResponseBody:").append(this.logResponse(response)); new TmaticwsInfoEvent(TmaticwsConstants.LOG_OUTBOUND_REST, this, request.getMethod(), sb.toString()); return response; }
/** * Gets diagnostic information about a request message. If the request * contains a message body, it should be represented as a DOM Document node * or as an object having a meaningful toString() implementation. * * @param req An object representing an HTTP request message. * @return A string containing information gleaned from the request message. */ String getRequestMessageInfo(ClientRequest req) { if (null == req) { return "No request message."; } StringBuilder msgInfo = new StringBuilder(); msgInfo.append("Method: ").append(req.getMethod()).append('\n'); msgInfo.append("Target URI: ").append(req.getURI()).append('\n'); msgInfo.append("Headers: ").append(req.getHeaders()).append('\n'); if (null != req.getEntity()) { Object entity = req.getEntity(); String body; if (Document.class.isInstance(entity)) { Document doc = Document.class.cast(entity); body = XMLUtils.writeNodeToString(doc); } else { body = entity.toString(); } msgInfo.append(body).append('\n'); } return msgInfo.toString(); }
/** * Gets diagnostic information about a request message. If the request * contains a message body, it should be represented as a DOM Document node * or as an object having a meaningful toString() implementation. * * @param req An object representing an HTTP request message. * @return A string containing information gleaned from the request message. */ String getRequestMessageInfo(ClientRequest req) { if (null == req) { return "No request message."; } StringBuilder msgInfo = new StringBuilder(); msgInfo.append("Method: ").append(req.getMethod()).append('\n'); msgInfo.append("Target URI: ").append(req.getURI()).append('\n'); msgInfo.append("Headers: ").append(req.getHeaders()).append('\n'); if (null != req.getEntity()) { Object entity = req.getEntity(); String body; if (Document.class.isInstance(entity)) { Document doc = Document.class.cast(entity); body = XMLUtils.writeNodeToString(doc); } else { body = entity.toString(); } msgInfo.append(body).append('\n'); } return msgInfo.toString(); }
@Override public ClientResponse handle(ClientRequest cr) throws ClientHandlerException { Map<String, List<String>> stringHeaders = new HashMap<>(); for (String key : cr.getHeaders().keySet()) { List<String> vals = new ArrayList<>(); for (Object val : cr.getHeaders().get(key)) { vals.add((String) val); } stringHeaders.put(key, vals); } Map<String, String> signedHeaders = signer.signRequest(cr.getURI(), cr.getMethod(), stringHeaders, cr.getEntity()); for (String key : signedHeaders.keySet()) { cr.getHeaders().putSingle(key, signedHeaders.get(key)); } return getNext().handle(cr); } }
@Override public ClientResponse handle(ClientRequest cr) throws ClientHandlerException { Map<String, List<String>> stringHeaders = new HashMap<>(); for (String key : cr.getHeaders().keySet()) { List<String> vals = new ArrayList<>(); for (Object val : cr.getHeaders().get(key)) { vals.add((String) val); } stringHeaders.put(key, vals); } Map<String, String> signedHeaders = signer.signRequest(cr.getURI(), cr.getMethod(), stringHeaders, cr.getEntity()); for (String key : signedHeaders.keySet()) { cr.getHeaders().putSingle(key, signedHeaders.get(key)); } return getNext().handle(cr); } }
private void logRequest(final long id, final ClientRequest request) { final StringBuilder b = new StringBuilder().append(LINE_END); printRequestLineStart(b, id).append(request.getMethod()).append(" ").append(request.getURI().toASCIIString()) .append(LINE_END); printRequestHeaders(b, id, request.getHeaders()); if (request.getEntity() != null) { request.setAdapter(new LoggingAdapter(request.getAdapter(), b)); } else { writeToLog(b); } }
private void compressReqeustIfCompressionEnabled(final ClientRequest request, final boolean compressionEnabled) { // compress request if (request.getEntity() != null) { final Object o = request.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (o != null && o.equals(GZIP)) { request.setAdapter(new GZIPAdapter(request.getAdapter())); } else if (compressionEnabled) { request.getHeaders().add(HttpHeaders.CONTENT_ENCODING, GZIP); request.setAdapter(new GZIPAdapter(request.getAdapter())); } } }
public ClientResponse apply(final ClientRequest clientRequest) { PropertiesDelegate propertiesDelegate = new MapPropertiesDelegate(); final ContainerRequest containerRequest = new ContainerRequest(baseUri, clientRequest.getUri(), clientRequest.getMethod(), null, propertiesDelegate); containerRequest.getHeaders().putAll(clientRequest.getStringHeaders()); final ByteArrayOutputStream clientOutput = new ByteArrayOutputStream(); if (clientRequest.getEntity() != null) { clientRequest.setStreamProvider(new OutboundMessageContext.StreamProvider() { @Override public OutputStream getOutputStream(int contentLength) throws IOException { final MultivaluedMap<String, Object> clientHeaders = clientRequest.getHeaders(); if (contentLength != -1 && !clientHeaders.containsKey(HttpHeaders.CONTENT_LENGTH)) { containerRequest.getHeaders().putSingle(HttpHeaders.CONTENT_LENGTH, String.valueOf(contentLength)); } return clientOutput; } });
private void logRequest(long id, ClientRequest request) { StringBuilder b = new StringBuilder(); printRequestLine(b, id, request); printRequestHeaders(b, id, request.getHeaders()); if (request.getEntity() != null) { request.setAdapter(new Adapter(request.getAdapter(), b)); } else { log(b); } }
private void logRequest(long id, ClientRequest request) { StringBuilder b = new StringBuilder(); printRequestLine(b, id, request); printRequestHeaders(b, id, request.getHeaders()); if (request.getEntity() != null) { request.setAdapter(new Adapter(request.getAdapter(), b)); } else { log(b); } }
private void logRequest(long id, ClientRequest request) { StringBuilder b = new StringBuilder(); printRequestLine(b, id, request); printRequestHeaders(b, id, request.getHeaders()); if (request.getEntity() != null) { request.setAdapter(new Adapter(request.getAdapter(), b)); } else { log(b); } }
requestBuilder.setPerRequestConfig(c); if (cr.getEntity() != null && needsBody) { final RequestEntityWriter re = getRequestEntityWriter(cr);
requestBuilder.setPerRequestConfig(c); if (cr.getEntity() != null && needsBody) { final RequestEntityWriter re = getRequestEntityWriter(cr);
@Override public ClientResponse handle(ClientRequest request) { // If 'Accept-Encoding' is not set, assume gzip as a default if (!request.getHeaders().containsKey(HttpHeaders.ACCEPT_ENCODING)) { request.getHeaders().add(HttpHeaders.ACCEPT_ENCODING, GZIP_ENCODING); } if (request.getEntity() != null) { Object requestEncoding = request.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (GZIP_ENCODING.equals(requestEncoding)) { request.setAdapter(new GzipAdapter(request.getAdapter())); } else if (isCompressionEnabled()) { request.getHeaders().add(HttpHeaders.CONTENT_ENCODING, GZIP_ENCODING); request.setAdapter(new GzipAdapter(request.getAdapter())); } } ClientResponse response = getNext().handle(request); String responseEncoding = response.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (response.hasEntity() && GZIP_ENCODING.equals(responseEncoding)) { response.getHeaders().remove(HttpHeaders.CONTENT_ENCODING); decompressResponse(response); } return response; }