[c++ pistache server] Support basic query handling (#943)

Support basic query handling

Add  helpers for primitive de-serialization
Remove warnings due to unneeded commas
Deserialize basic types in queries
Add dependencies chain for external libraries
Fixes wrong parameter passed to API
This commit is contained in:
sunn
2018-09-12 09:53:01 +02:00
committed by GitHub
parent 3cfcf77c88
commit 3d4c3c545b
21 changed files with 413 additions and 26 deletions

View File

@@ -11,12 +11,14 @@
*/
#include "UserApi.h"
#include "Helpers.h"
namespace org {
namespace openapitools {
namespace server {
namespace api {
using namespace org::openapitools::server::helpers;
using namespace org::openapitools::server::model;
UserApi::UserApi(Pistache::Address addr)
@@ -136,8 +138,22 @@ void UserApi::get_user_by_name_handler(const Pistache::Rest::Request &request, P
void UserApi::login_user_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
// Getting the query params
auto username = request.query().get("username");
auto password = request.query().get("password");
auto usernameQuery = request.query().get("username");
Pistache::Optional<std::string> username;
if(!usernameQuery.isEmpty()){
std::string value;
if(fromStringValue(usernameQuery.get(), value)){
username = Pistache::Some(value);
}
}
auto passwordQuery = request.query().get("password");
Pistache::Optional<std::string> password;
if(!passwordQuery.isEmpty()){
std::string value;
if(fromStringValue(passwordQuery.get(), value)){
password = Pistache::Some(value);
}
}
try {
this->login_user(username, password, response);