Die
Intersult StreamConnection ist eine Implementierug des Interface
Intersult Connection für InputStream und OutputStream.
Hintergrund#
InputStream und OutputStream stellen in
Java die häufig benutzten Basisklassen für das Streaming dar, auch für Sockets. Mit der
Intersult StreamConnection kann also unmittelbar ein HTTP-Ähnliches Protokoll implementiert werden.
Beispiel#
Folgender Test gibt HTTP aus und liest das Ergebnis über einen
PipeStream wieder ein:
PipeStream pipe = new PipeStream();
StreamConnection connection = new StreamConnection(pipe.getInputStream(), pipe.getOutputStream());
connection.setProperty("HTTP/1.1 200 OK", null);
connection.setProperty("Content-Type", "text/plain");
IOUtils.write(connection.getOutputStream(), "Hello World!");
Assert.assertEquals(connection.getPropertyNames().iterator().next(), "HTTP/1.1 200 OK");
Assert.assertEquals("text/plain", connection.getProperty("Content-Type"));
Assert.assertEquals("Hello World!", IOUtils.readLine(connection.getInputStream()));
Assert.assertNull(IOUtils.readLine(connection.getInputStream()));