diff options
author | Eike Stepper | 2008-05-25 09:14:26 +0000 |
---|---|---|
committer | Eike Stepper | 2008-05-25 09:14:26 +0000 |
commit | d60cb62fd5a015e3f6f2ea1929834f4a14e497a8 (patch) | |
tree | 59f2763748c44f0668d570d1fad54c7f9e87d061 /plugins/org.eclipse.net4j.http/src/org/eclipse | |
parent | 1ea464b36c04f9391b999ae82033eb5a89b98395 (diff) | |
download | cdo-d60cb62fd5a015e3f6f2ea1929834f4a14e497a8.tar.gz cdo-d60cb62fd5a015e3f6f2ea1929834f4a14e497a8.tar.xz cdo-d60cb62fd5a015e3f6f2ea1929834f4a14e497a8.zip |
[232648] Provide an HTTPConnector
https://bugs.eclipse.org/bugs/show_bug.cgi?id=232648
Diffstat (limited to 'plugins/org.eclipse.net4j.http/src/org/eclipse')
4 files changed, 29 insertions, 9 deletions
diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java index ec4a7b0488..76aa123783 100644 --- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java +++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPAcceptor.java @@ -151,7 +151,13 @@ public class HTTPAcceptor extends Acceptor implements IHTTPAcceptor, INet4jTrans IBuffer buffer = getBufferProvider().provideBuffer(); ByteBuffer byteBuffer = buffer.startPutting(channelIndex); - byteBuffer.put(data); + for (int i = 0; i < data.length; i++) + { + System.out.println("Payload: " + data[i]); + byteBuffer.put(data[i]); + } + + buffer.flip(); channel.handleBufferFromMultiplexer(buffer); } diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java index b86f6dd4db..db1cfa94b3 100644 --- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java +++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/HTTPClientConnector.java @@ -83,14 +83,21 @@ public class HTTPClientConnector extends HTTPConnector { public void handleOut(ExtendedDataOutputStream out) throws IOException { - buffer.flip(); - ByteBuffer byteBuffer = buffer.getByteBuffer(); - byte[] data = byteBuffer.array(); - out.writeByte(INet4jTransportServlet.OPCODE_SEND_BUFFER); out.writeString(getConnectorID()); out.writeShort(channel.getChannelIndex()); - out.writeByteArray(data); + + buffer.flip(); + ByteBuffer byteBuffer = buffer.getByteBuffer(); + byteBuffer.position(IBuffer.HEADER_SIZE); + int length = byteBuffer.limit() - byteBuffer.position(); + out.writeShort(length); + for (int i = 0; i < length; i++) + { + byte b = byteBuffer.get(); + System.out.println("Payload: " + b); + out.writeByte(b); + } buffer.release(); } diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java index fba78a900e..833bab4418 100644 --- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java +++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/Net4jTransportServlet.java @@ -199,7 +199,14 @@ public class Net4jTransportServlet extends HttpServlet implements INet4jTranspor { String connectorID = in.readString(); short channelIndex = in.readShort(); - byte[] data = in.readByteArray(); + int length = in.readShort(); + byte[] data = new byte[length]; + for (int i = 0; i < length; i++) + { + data[i] = in.readByte(); + } + + // TODO Consider passing the stream! requestHandler.handleSendBuffer(connectorID, channelIndex, data); out.writeBoolean(true); } diff --git a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java index 283a644e57..eded166dd8 100644 --- a/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java +++ b/plugins/org.eclipse.net4j.http/src/org/eclipse/net4j/internal/http/tests/HTTPTest.java @@ -42,9 +42,9 @@ public class HTTPTest extends AbstractTransportTest IHTTPConnector connector = getHTTPConnector(); IChannel channel = connector.openChannel(TestSignalProtocol.PROTOCOL_NAME, null); - IntRequest request = new IntRequest(channel, 4711); + IntRequest request = new IntRequest(channel, 305419896); int result = request.send(); - assertEquals(4711, result); + assertEquals(305419896, result); } private IHTTPConnector getHTTPConnector() |