Modified to run on Renesas GR Peach board
Fork of HTTP-Server by
RequestHandler.cpp
- Committer:
- feb11
- Date:
- 2013-07-17
- Revision:
- 0:9e4bcb10b3e3
- Child:
- 7:838d7ea07e18
File content as of revision 0:9e4bcb10b3e3:
#include "RequestHandler.h" #include "mbed_rpc.h" #include "RPCObjectManager.h" #include "RPCCommand.h" void GetRequestHandler::handle(const RPCCommand& cmd, char *reply) { switch(cmd.get_type()) { case DELETE: strcat(reply, "You must send a DELETE request to remove an object "); break; case FUNCTION_CALL: RPC::call(cmd.get_cmd(), reply); break; case CREATE: strcat(reply, "You must send a PUT request to call a function"); break; default: strcat(reply, "Invalid RPC command"); break; } } void PutRequestHandler::handle(const RPCCommand& cmd, char *reply) { switch(cmd.get_type()) { case DELETE: strcat(reply, "You must send a DELETE request to remove an object "); break; case FUNCTION_CALL: strcat(reply, "You must send a GET request to call a function"); break; case CREATE: RPC::call(cmd.get_cmd(), reply); if(strlen(reply) > 0) { RPCObjectManager::instance().store_object(reply); strcat(reply, " has been created"); } else strcat(reply, "Error while creating object."); break; default: strcat(reply, "Invalid RPC command"); break; } } void DeleteRequestHandler::handle(const RPCCommand& cmd, char *reply) { switch(cmd.get_type()) { case CREATE: strcat(reply, "You must send a PUT request to remove an object "); break; case FUNCTION_CALL: strcat(reply, "You must send a GET request to call a function"); break; case DELETE: RPC::call(cmd.get_cmd(), reply); RPCObjectManager::instance().remove_object(cmd.get_obj_name()); strcat(reply, "Deleted object "); strcat(reply, cmd.get_obj_name()); break; default: strcat(reply, "Invalid RPC command"); break; } } void ComplexRequestHandler::handle(const RPCCommand& cmd, char *reply) { switch(cmd.get_type()) { case CREATE : putHandler.handle(cmd, reply); break; case DELETE : deleteHandler.handle(cmd, reply); break; case FUNCTION_CALL : getHandler.handle(cmd, reply); break; default : strcat(reply, "Invalid RPC command"); break; } }