package railo.runtime.exp;
import java.net.URL;
import railo.runtime.config.Config;
import railo.runtime.type.util.KeyConstants;
/**
* Exception class for the HTTP Handling
*/
public final class HTTPException extends ApplicationException {
private int statusCode;
private String statusText;
private URL url;
/**
* Constructor of the class
* @param message
* @param detail
* @param statusCode
*/
public HTTPException(String message, String detail, int statusCode,String statusText,URL url) {
super(message,detail);
this.statusCode=statusCode;
this.statusText=statusText;
this.url=url;
setAdditional(KeyConstants._statuscode, new Double(statusCode));
setAdditional(KeyConstants._statustext, statusText);
if(url!=null)setAdditional(KeyConstants._url, url.toExternalForm());
}
/**
* @return Returns the statusCode.
*/
public int getStatusCode() {
return statusCode;
}
/**
* @return Returns the status text.
*/
public String getStatusText() {
return statusText;
}
public URL getURL(){
return url;
}
@Override
public CatchBlock getCatchBlock(Config config) {
CatchBlock sct = super.getCatchBlock(config);
sct.setEL("statusCode",statusCode+"");
sct.setEL("statusText",statusText);
if(url!=null)sct.setEL("url",url.toExternalForm());
return sct;
}
}