import java.util.*; import sdsu.io.*; import java.io.*; class Echo { private ASCIIInputStream cin; private PrintStream cout; public Echo( InputStream in, OutputStream out ) { cin = new ASCIIInputStream( new BufferedInputStream( in ) ); cout = new PrintStream( out ); } public void run() throws IOException { String fromClient = cin.readLine().trim(); cout.println( "You entered: " + fromClient ); } } class CGIStreamExample { public static void main( String args[] ) throws IOException { try { preformTest(); } catch ( Exception anError ) { System.out.println( "Content-type: text/plain\n\n"); System.out.println( "A java exception occured. Here it is:"); System.out.println( anError.toString() ); } } public static void preformTest() throws IOException { PipedInputStream myIn = new PipedInputStream(); PipedOutputStream myOut = new PipedOutputStream(); PipedInputStream echoIn = new PipedInputStream(); PipedOutputStream echoOut = new PipedOutputStream(); System.out.println( "Content-type: text/html\n\n"); echoIn.connect( myOut ); myIn.connect( echoOut ); PrintStream cout = new PrintStream( myOut ); ASCIIInputStream cin = new ASCIIInputStream( new BufferedInputStream(myIn)); Echo repeater = new Echo( echoIn, echoOut ); cout.println("Hello World"); repeater.run(); String result = cin.readLine(); System.out.println( "The result is: " + result ); } }