| 2008 | 1 package goodjava.webserver.examples; | 
|  | 2 | 
|  | 3 import java.io.Writer; | 
|  | 4 import java.io.OutputStreamWriter; | 
|  | 5 import java.io.IOException; | 
|  | 6 import java.util.Date; | 
|  | 7 import goodjava.webserver.Handler; | 
|  | 8 import goodjava.webserver.Request; | 
|  | 9 import goodjava.webserver.Response; | 
|  | 10 import goodjava.webserver.ChunkedOutputStream; | 
|  | 11 import goodjava.webserver.Server; | 
|  | 12 | 
|  | 13 | 
|  | 14 public class Chunked implements Handler { | 
|  | 15 | 
|  | 16 	public Response handle(Request request) { | 
|  | 17 		Response response = new Response(); | 
|  | 18 		response.headers.put( "Content-Type", "text/html; charset=utf-8" ); | 
|  | 19 		final Writer writer = new OutputStreamWriter( new ChunkedOutputStream(response) ); | 
|  | 20 		new Thread(new Runnable(){public void run(){ | 
|  | 21 			try { | 
|  | 22 				String s = new Date().toString(); | 
|  | 23 				for( int i=1; i<=10; i++ ) { | 
|  | 24 					writer.write(s+" "+i+"<br>\n"); | 
|  | 25 					writer.flush(); | 
|  | 26 					Thread.sleep(1000); | 
|  | 27 				} | 
|  | 28 				writer.close(); | 
|  | 29 			} catch(IOException e) { | 
|  | 30 				throw new RuntimeException(e); | 
|  | 31 			} catch(InterruptedException e) { | 
|  | 32 				throw new RuntimeException(e); | 
|  | 33 			} | 
|  | 34 		}}).start(); | 
|  | 35 		return response; | 
|  | 36 	} | 
|  | 37 | 
|  | 38 } |