[jboss-cvs] JBossAS SVN: r68618 - projects/ejb3/trunk/ejb3-socket-inflow/src/main/java/org/jboss/ejb3/resource/adaptor/socket/handler/http.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 4 00:45:44 EST 2008
Author: ALRubinger
Date: 2008-01-04 00:45:44 -0500 (Fri, 04 Jan 2008)
New Revision: 68618
Modified:
projects/ejb3/trunk/ejb3-socket-inflow/src/main/java/org/jboss/ejb3/resource/adaptor/socket/handler/http/CopyHttpRequestToResponseRequestHandler.java
Log:
Bug Fixes to only print out HTTP request until EOF is encountered, not full buffer
Modified: projects/ejb3/trunk/ejb3-socket-inflow/src/main/java/org/jboss/ejb3/resource/adaptor/socket/handler/http/CopyHttpRequestToResponseRequestHandler.java
===================================================================
--- projects/ejb3/trunk/ejb3-socket-inflow/src/main/java/org/jboss/ejb3/resource/adaptor/socket/handler/http/CopyHttpRequestToResponseRequestHandler.java 2008-01-04 05:44:56 UTC (rev 68617)
+++ projects/ejb3/trunk/ejb3-socket-inflow/src/main/java/org/jboss/ejb3/resource/adaptor/socket/handler/http/CopyHttpRequestToResponseRequestHandler.java 2008-01-04 05:45:44 UTC (rev 68618)
@@ -23,7 +23,7 @@
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
+import java.io.PrintStream;
import java.net.Socket;
import org.jboss.ejb3.resource.adaptor.socket.handler.RequestHandlingException;
@@ -56,31 +56,46 @@
public void handleClientRequest(Socket clientSocket) throws RequestHandlingException
{
// Initialize Streams
- OutputStream outStream = null;
+ PrintStream outStream = null;
InputStream inStream = null;
// Obtain Streams
try
{
- outStream = clientSocket.getOutputStream();
+ outStream = new PrintStream(clientSocket.getOutputStream());
inStream = clientSocket.getInputStream();
// Copy request content to response
- byte[] buffer = new byte[1024];
+ int bufferSize = 1024;
+ byte[] buffer = new byte[bufferSize];
int i = 0;
while ((i = inStream.read(buffer)) != -1)
{
- outStream.write(buffer);
- // If HTTP EOF is encountered
- if (CopyHttpRequestToResponseRequestHandler.indexOf(buffer,
- CopyHttpRequestToResponseRequestHandler.HTTP_REQUEST_EOF) != -1)
+ // Find HTTP EOF
+ int httpEof = CopyHttpRequestToResponseRequestHandler.indexOf(buffer,
+ CopyHttpRequestToResponseRequestHandler.HTTP_REQUEST_EOF);
+
+ // If EOF is encountered
+ if (httpEof != -1)
{
+ // Print only part of buffer until EOF is reached
+ int useableSize = httpEof + CopyHttpRequestToResponseRequestHandler.HTTP_REQUEST_EOF.length;
+ byte[] newBuffer = new byte[useableSize];
+ System.arraycopy(buffer, 0, newBuffer, 0, newBuffer.length);
+ outStream.print(new String(newBuffer));
+
// Stop
break;
}
+ // EOF not encountered
+ else
+ {
+ // Print entire buffer
+ outStream.print(new String(buffer));
+ }
}
-
+
// Flush Outstream
outStream.flush();
}
More information about the jboss-cvs-commits
mailing list