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