package com.limegroup.gnutella.uploader;
import java.io.IOException;
import java.io.OutputStream;
import com.limegroup.gnutella.http.ConstantHTTPHeaderValue;
import com.limegroup.gnutella.http.HTTPHeaderName;
import com.limegroup.gnutella.http.HTTPUtils;
import com.limegroup.gnutella.util.CommonUtils;
/**
* Since the uploader is considered a freeloader, this ploads an html page
* to them with more information on Gnutella and with more information on
* obtaining a client.
*/
public class FreeloaderUploadState extends UploadState {
public static final String RESPONSE_PAGE =
"<html>\r\n"+
"<head>\r\n"+
"<title>Please Share</title>\r\n"+
"<meta http-equiv=\"refresh\" \r\n"+
"content=\"0; \r\n"+
"URL=http://www2.limewire.com/browser.htm\">\r\n"+
"</head>\r\n"+
"<body>\r\n"+
"<a href=\"http://www2.limewire.com/browser.htm\">Please Share</a>\r\n"+
"</body>\r\n"+
"</html>\r\n";
public void writeMessageHeaders(OutputStream os) throws IOException {
// Sends a 402 Browser Request Denied message
String str;
str = "HTTP/1.1 200 OK \r\n";
os.write(str.getBytes());
str = "Server: " + CommonUtils.getHttpServer() + "\r\n";
os.write(str.getBytes());
str = "Content-Type: text/html\r\n";
os.write(str.getBytes());
str = "Content-Length: " + RESPONSE_PAGE.length() + "\r\n";
os.write(str.getBytes());
HTTPUtils.writeHeader(HTTPHeaderName.CONNECTION,
ConstantHTTPHeaderValue.CLOSE_VALUE,
os);
str = "\r\n";
os.write(str.getBytes());
}
public void writeMessageBody(OutputStream os) throws IOException {
os.write(RESPONSE_PAGE.getBytes());
}
public boolean getCloseConnection() {
return true;
}
}