You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/10/14 10:53:19 UTC
svn commit: r1764870 -
/tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
Author: markt
Date: Fri Oct 14 10:53:19 2016
New Revision: 1764870
URL: http://svn.apache.org/viewvc?rev=1764870&view=rev
Log:
More plumbing for tests in progress
Modified:
tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
Modified: tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java?rev=1764870&r1=1764869&r2=1764870&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java (original)
+++ tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java Fri Oct 14 10:53:19 2016
@@ -359,23 +359,35 @@ public abstract class Http2TestBase exte
protected String getEmptyResponseTrace(int streamId) {
- return getSingleResponseBodyFrameTrace(streamId, 0);
+ return getResponseBodyFrameTrace(streamId, "0");
}
protected String getSimpleResponseTrace(int streamId) {
- return getSingleResponseBodyFrameTrace(streamId, 8192);
+ return getResponseBodyFrameTrace(streamId, "8192");
}
- private String getSingleResponseBodyFrameTrace(int streamId, int bodySize) {
+ protected String getCookieResponseTrace(int streamId, int cookieCount) {
+ return getResponseBodyFrameTrace(streamId, "text/plain;charset=UTF-8",
+ "Cookie count: " + cookieCount);
+ }
+
+
+ private String getResponseBodyFrameTrace(int streamId, String body) {
+ return getResponseBodyFrameTrace(streamId, "application/octet-stream", body);
+ }
+
+ private String getResponseBodyFrameTrace(int streamId, String contentType, String body) {
StringBuilder result = new StringBuilder();
result.append(streamId);
result.append("-HeadersStart\n");
result.append(streamId);
result.append("-Header-[:status]-[200]\n");
result.append(streamId);
- result.append("-Header-[content-type]-[application/octet-stream]\n");
+ result.append("-Header-[content-type]-[");
+ result.append(contentType);
+ result.append("]\n");
result.append(streamId);
result.append("-Header-[date]-[");
result.append(DEFAULT_DATE);
@@ -384,7 +396,7 @@ public abstract class Http2TestBase exte
result.append("-HeadersEnd\n");
result.append(streamId);
result.append("-Body-");
- result.append(bodySize);
+ result.append(body);
result.append("\n");
result.append(streamId);
result.append("-EndOfStream\n");
@@ -419,6 +431,8 @@ public abstract class Http2TestBase exte
ctxt.addServletMappingDecoded("/simple", "simple");
Tomcat.addServlet(ctxt, "large", new LargeServlet());
ctxt.addServletMappingDecoded("/large", "large");
+ Tomcat.addServlet(ctxt, "cookie", new CookieServlet());
+ ctxt.addServletMappingDecoded("/cookie", "cookie");
tomcat.start();
}
@@ -766,6 +780,12 @@ public abstract class Http2TestBase exte
private StringBuffer trace = new StringBuffer();
private String lastStreamId = "0";
private ConnectionSettingsRemote remoteSettings = new ConnectionSettingsRemote("-1");
+ private boolean traceBody = false;
+ private ByteBuffer bodyBuffer = null;
+
+ public void setTraceBody(boolean traceBody) {
+ this.traceBody = traceBody;
+ }
@Override
@@ -777,14 +797,29 @@ public abstract class Http2TestBase exte
@Override
public ByteBuffer startRequestBodyFrame(int streamId, int payloadSize) {
lastStreamId = Integer.toString(streamId);
- trace.append(lastStreamId + "-Body-" + payloadSize + "\n");
- return null;
+ if (traceBody) {
+ bodyBuffer = ByteBuffer.allocate(payloadSize);
+ return bodyBuffer;
+ } else {
+ trace.append(lastStreamId + "-Body-" + payloadSize + "\n");
+ return null;
+ }
}
@Override
public void endRequestBodyFrame(int streamId) throws Http2Exception {
- // NO-OP
+ if (bodyBuffer != null) {
+ if (bodyBuffer.limit() > 0) {
+ trace.append(lastStreamId + "-Body-");
+ bodyBuffer.flip();
+ while (bodyBuffer.hasRemaining()) {
+ trace.append((char) bodyBuffer.get());
+ }
+ trace.append("\n");
+ bodyBuffer = null;
+ }
+ }
}
@@ -1002,6 +1037,21 @@ public abstract class Http2TestBase exte
}
}
+
+ private static class CookieServlet extends HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getWriter().print("Cookie count: " + req.getCookies().length);
+ resp.flushBuffer();
+ }
+ }
+
static class SettingValue {
private final int setting;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org