+ }
+
+ else if(request[0] == "10_Encrypt") { //encrypt password
+ if(masterpasswd == "") { //If master password is not yet set
+ return "412_Precondition_Failed\n";
+ } else { //If we have a master password to encrypt with
+ put_password(masterpasswd, request[3], request[2], request[1]);
+ return "201_Created\n";
+ }
+
+ }else if(request[0] == "20_Decrypt") { //decrypt password
+ if(masterpasswd == "") { //If master password is not yet set
+ return "412_Precondition_Failed\n";
+ } else { //If we have a master password to encrypt with
+ std::string pw = get_password(masterpasswd, request[2], request[1]);
+ std::string message;
+ if(pw == "") {
+ message = "500_Internal_Server_Error\n";
+ } else {
+ message = "201_Created " + pw + "\n";
+ }
+ return message;
+ }
+ }else if(request[0] == "30_Check") { //check if password file exists
+ bool check = false;
+ fstream file;
+ file.open(make_filename(request[2], request[1]).c_str(), ios::in);
+ if( file.is_open() ) {
+ check = true;
+ }
+ file.close();
+ if(masterpasswd == "") { //If master password is not yet set
+ return "412_Precondition_Failed\n";
+ } else {
+ if(check) {
+ return "201_Created\n";
+ } else {
+ return "404_Not_Found";
+ }
+ }
+ }
+ else {