GUAC-547: Associate a GuacamoleStatus with all GuacamoleExceptions.

This commit is contained in:
Michael Jumper
2014-03-18 16:41:22 -07:00
parent 4f3f55d0e0
commit ac288916b8
4 changed files with 35 additions and 1 deletions

View File

@@ -22,6 +22,8 @@
package org.glyptodon.guacamole;
import org.glyptodon.guacamole.protocol.GuacamoleStatus;
/**
* A generic exception thrown when part of the Guacamole API encounters
@@ -62,4 +64,9 @@ public class GuacamoleClientException extends GuacamoleException {
super(cause);
}
@Override
public GuacamoleStatus getStatus() {
return GuacamoleStatus.CLIENT_BAD_REQUEST;
}
}

View File

@@ -22,6 +22,8 @@
package org.glyptodon.guacamole;
import org.glyptodon.guacamole.protocol.GuacamoleStatus;
/**
* A generic exception thrown when parts of the Guacamole API encounter
@@ -61,4 +63,15 @@ public class GuacamoleException extends Exception {
super(cause);
}
/**
* Returns the Guacamole status associated with this exception. This status
* can then be easily translated into an HTTP error code or Guacamole
* protocol error code.
*
* @return The corresponding Guacamole status.
*/
public GuacamoleStatus getStatus() {
return GuacamoleStatus.SERVER_ERROR;
}
}

View File

@@ -22,6 +22,8 @@
package org.glyptodon.guacamole;
import org.glyptodon.guacamole.protocol.GuacamoleStatus;
/**
* A generic exception thrown when part of the Guacamole API fails to find
@@ -62,4 +64,9 @@ public class GuacamoleResourceNotFoundException extends GuacamoleClientException
super(cause);
}
@Override
public GuacamoleStatus getStatus() {
return GuacamoleStatus.RESOURCE_NOT_FOUND;
}
}

View File

@@ -22,6 +22,8 @@
package org.glyptodon.guacamole;
import org.glyptodon.guacamole.protocol.GuacamoleStatus;
/**
* A security-related exception thrown when parts of the Guacamole API is
@@ -61,4 +63,9 @@ public class GuacamoleSecurityException extends GuacamoleClientException {
super(cause);
}
@Override
public GuacamoleStatus getStatus() {
return GuacamoleStatus.CLIENT_FORBIDDEN;
}
}