@Override public boolean shouldCall(Request request) { boolean should; if (null != selectParams) { for (Map.Entry<String, String> select : selectParams.entrySet()) { if (!select.getValue().equals(request.param(select.getKey()))) { should = false; } } } if (null != selectHeaders) { for (Map.Entry<String, String> header : selectHeaders.entrySet()) { if (!header.getValue().equals(request.header(header.getKey()))) { should = false; } } } // (JFA) Might be a good idea to pass the value of should as a request attribute // so an action can see if what was the value before getting invoked and take a decision based // on it. should = action.shouldCall(request); return should; }
private String getEntityBodyFromRequest(Request<String> request) throws IOException { String contentTypeHeader = request.header("Content-Type"); Charset charset = BrowserMobHttpUtil.deriveCharsetFromContentTypeHeader(contentTypeHeader); ByteArrayOutputStream entityBodyBytes = new ByteArrayOutputStream(); request.readTo(entityBodyBytes); return new String(entityBodyBytes.toByteArray(), charset); }
private String getEntityBodyFromRequest(Request<String> request) throws IOException { String contentTypeHeader = request.header("Content-Type"); Charset charset = null; try { charset = BrowserMobHttpUtil.readCharsetInContentTypeHeader(contentTypeHeader); } catch (UnsupportedCharsetException e) { java.nio.charset.UnsupportedCharsetException cause = e.getUnsupportedCharsetExceptionCause(); LOG.error( "Character set declared in Content-Type header is not supported. Content-Type header: {}", contentTypeHeader, cause); throw cause; } if (charset == null) { charset = BrowserMobHttpUtil.DEFAULT_HTTP_CHARSET; } ByteArrayOutputStream entityBodyBytes = new ByteArrayOutputStream(); request.readTo(entityBodyBytes); return new String(entityBodyBytes.toByteArray(), charset); }