# Functions
GenerateToken creates a new token.
Logger handles the logging in the router.
NewRouter creats a new instance of Router.
NewUser instantiate a user.
RobotHandler process the request to /base.
UserHandler process the requests on the user.
# Constants
TypeActionPerformed says the action was performed.
TypeAddUser is to add a user.
TypeCurrentBase returns Base.
TypeCurrentElbow returns Elbow.
TypeCurrentGripper returns Gripper.
TypeCurrentPosture returns Posture.
TypeCurrentShoulder returns Shoulder.
TypeCurrentUser has the current user info.
TypeCurrentWristAngle returns WristAngle.
TypeCurrentWristRotation returns WristRotation.
TypeDeleteUser is to delete a user.
TypeGetBase is to get Base.
TypeGetElbow is to get Elbow.
TypeGetGripper is to get Gripper.
TypeGetPosture is to get a posture.
TypeGetShoulder is to get Shoulder.
TypeGetUser is to get the current user.
TypeGetWristAngle is to get WristAngle.
TypeGetWristRotation is to get WristRotation.
TypeInvalidCommand says no such command.
TypeInvalidToken says something is wrong with Token.
TypeInvalidUserInfo says something wrong about the user to be added.
TypePutBase is to change Base.
TypePutElbow is to change Elbow.
TypePutGripper is to change Gripper.
TypePutPosture is to set a posture.
TypePutReset is to reset Leubot.
TypePutShoulder is to change Shoulder.
TypePutSleep is to sleep Leubot.
TypePutWristAngle is to change WristAngle.
TypePutWristRotation is to change WristRotation.
TypeSomethingWentWrong says it didn't go well.
TypeUserAdded says the user is added.
TypeUserDeleted says the user is deleted.
TypeUserExisted says a user already exists.
TypeUserNotFound says no such user exists.
# Variables
APIBasePath is the path to the API.
APIHost is the hostname.
APIProto for API access protocol.
HandlerChannel is used to communicate between the router and other application logic.
# Structs
HandlerMessage contains the payload for the command messages.
JointInfo is a struct for each joint.
PostureCommand is a struct for a posture.
RobotCommand is a struct for each command.
RobotPose stores the rotations of each joint.
Route is a basic pattern of the rounting.
Token for the user token.
User provides the struct for the user.
UserInfo provides the JSON scheme for User.
# Type aliases
HandlerMessageType is the type for HandlerMessage.
Routes contain the Route.