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()));