view src/goodjava/webserver/examples/Chunked.java @ 2010:f45ed55f5c11 default tip

fix chunked encoding
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 02 Sep 2025 06:00:41 -0600
parents bba3e529e346
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;
	}

}