package water.api;
import java.util.Properties;
import water.NanoHTTPD;
import water.util.RString;
/**
*
* @author peta
*/
public class HTTP404 extends Request {
private transient final Str _error = new Str(ERROR,"Unknown error");
public HTTP404() {
_requestHelp = "Displays the HTTP 404 page with error specified in JSON"
+ " argument error.";
_error._requestHelp = "Error description for the 404. Generally the URL not found.";
}
@Override public Response serve() {
return Response.error(_error.value());
}
@Override protected String serveJava() {
return _error.value();
}
@Override public water.NanoHTTPD.Response serve(NanoHTTPD server, Properties parms, RequestType type) {
water.NanoHTTPD.Response r = super.serve(server, parms, type);
r.status = NanoHTTPD.HTTP_NOTFOUND;
return r;
}
private static final String _html =
"<h3>HTTP 404 - Not Found</h3>"
+ "<div class='alert alert-error'>%ERROR</div>"
;
@Override protected String build(Response response) {
StringBuilder sb = new StringBuilder();
sb.append("<div class='container'>");
sb.append("<div class='row-fluid'>");
sb.append("<div class='span12'>");
sb.append(buildResponseHeader(response));
RString str = new RString(_html);
str.replace("ERROR", response.error());
sb.append(str.toString());
sb.append("</div></div></div>");
return sb.toString();
}
}