diff src/goodjava/webserver/examples/Chunked.java @ 2008:bba3e529e346 default tip

chunked encoding
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 27 Aug 2025 01:14:17 -0600
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/goodjava/webserver/examples/Chunked.java	Wed Aug 27 01:14:17 2025 -0600
@@ -0,0 +1,38 @@
+package goodjava.webserver.examples;
+
+import java.io.Writer;
+import java.io.OutputStreamWriter;
+import java.io.IOException;
+import java.util.Date;
+import goodjava.webserver.Handler;
+import goodjava.webserver.Request;
+import goodjava.webserver.Response;
+import goodjava.webserver.ChunkedOutputStream;
+import goodjava.webserver.Server;
+
+
+public class Chunked implements Handler {
+
+	public Response handle(Request request) {
+		Response response = new Response();
+		response.headers.put( "Content-Type", "text/html; charset=utf-8" );
+		final Writer writer = new OutputStreamWriter( new ChunkedOutputStream(response) );
+		new Thread(new Runnable(){public void run(){
+			try {
+				String s = new Date().toString();
+				for( int i=1; i<=10; i++ ) {
+					writer.write(s+" "+i+"<br>\n");
+					writer.flush();
+					Thread.sleep(1000);
+				}
+				writer.close();
+			} catch(IOException e) {
+				throw new RuntimeException(e);
+			} catch(InterruptedException e) {
+				throw new RuntimeException(e);
+			}
+		}}).start();
+		return response;
+	}
+
+}