@Override public String convert(IAccessEvent accessEvent) { long len = accessEvent.getContentLength(); if (len == IAccessEvent.SENTINEL) { return IAccessEvent.NA; } else { return Long.toString(len); } }
@Override public void writeTo(JsonGenerator generator, IAccessEvent event) throws IOException { JsonWritingUtils.writeNumberField(generator, getFieldName(), event.getContentLength()); }
/** * Verifies that the content length is greater than or equal to the given one. * * @param contentLength the minimal content length. * @return this instance. * @see IAccessEvent#getContentLength() */ public S hasContentLength(long contentLength) { long actualContentLength = actual.getContentLength(); Assertions.assertThat(actualContentLength).isGreaterThanOrEqualTo(contentLength); return myself; }
@Override public void writeTo(JsonGenerator generator, IAccessEvent event) throws IOException { JsonWritingUtils.writeStringField(generator, getFieldName(), String.format("%s - %s [%s] \"%s\" %s %s", event.getRemoteHost(), event.getRemoteUser() == null ? "-" : event.getRemoteUser(), getFormattedTimestamp(event), event.getRequestURL(), event.getStatusCode(), event.getContentLength())); }
@Test public void testSerialization() throws IOException, ClassNotFoundException { Object o = buildSerializedAccessEvent(); assertNotNull(o); IAccessEvent aeBack = (IAccessEvent) o; assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP, aeBack.getResponseHeaderMap()); assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP.get("x"), aeBack.getResponseHeader("x")); assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP.get("headerName1"), aeBack.getResponseHeader("headerName1")); assertEquals(DummyResponse.DUMMY_DEFAULT_HDEADER_MAP.size(), aeBack.getResponseHeaderNameList().size()); assertEquals(DummyResponse.DUMMY_DEFAULT_CONTENT_COUNT, aeBack.getContentLength()); assertEquals(DummyResponse.DUMMY_DEFAULT_STATUS, aeBack.getStatusCode()); assertEquals(DummyRequest.DUMMY_CONTENT_STRING, aeBack.getRequestContent()); assertEquals(DummyRequest.DUMMY_RESPONSE_CONTENT_STRING, aeBack.getResponseContent()); assertEquals(DummyRequest.DUMMY_DEFAULT_ATTR_MAP.get("testKey"), aeBack.getAttribute("testKey")); }