view 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 source

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;
	}

}