/** base class for REST API handler of a specific base URL.
Override these methods to implement an API action for a specific urlBase */
public class RestApiHandler {
String urlBase = "";
boolean ifId = false;
/** for base URLs without required appended ID numbers
@param url A url as stored in HttpParser.urlBase */
public String toString() {
return new String("[RestApiHandler \"" + urlBase +
(ifId ? "/#" : "") + "\"]");
}
/** record base URL and whether or not an appended ID number is required
@param url A url as stored in HttpParser.urlBase
@param id True if an ID must be appended to URL, false otherwise */
public void recordApi(String url, boolean id) {
urlBase = url;
ifId = id;
}
/** handler for POST (Create) messages for this urlBase
@param Result of parsing an incoming HTTP request
@return Reply message after acting on that parsed request; in this case,
the message indicated code 501, Not Implemented */
public String doPost(HttpParser parser) {
return defaultHandler(parser);
}
/** handler for GET (Read) messages for this urlBase
@param Result of parsing an incoming HTTP request
@return Reply message after acting on that parsed request; in this case,
the message indicated code 501, Not Implemented */
public String doGet(HttpParser parser) {
return defaultHandler(parser);
}
/** handler for PATCH (Update) messages for this urlBase
@param Result of parsing an incoming HTTP request
@return Reply message after acting on that parsed request; in this case,
the message indicated code 501, Not Implemented */
public String doPatch(HttpParser parser) {
return defaultHandler(parser);
}
/** handler for DELETE (Delete) messages for this urlBase
@param Result of parsing an incoming HTTP request
@return Reply message after acting on that parsed request; in this case,
the message indicated code 501, Not Implemented */
public String doDelete(HttpParser parser) {
return defaultHandler(parser);
}
/** default handler for messages for this urlBase
@param Result of parsing an incoming HTTP request
@return Reply message after acting on that parsed request; in this case,
the message indicated code 501, Not Implemented */
private String defaultHandler(HttpParser parser) {
return parser.makeReply(501);
}
}