Сообщение Re[4]: Web-server для организации API от 25.09.2023 11:04
Изменено 25.09.2023 11:27 Alekzander
Re[4]: Web-server для организации API
Здравствуйте, so5team, Вы писали:
A>>А нет ли чего-нибудь менее универсального?
S>Не в курсе. Мне не доводилось слышать про генерацию обработчиков HTTP-точек входа для встраиваемого в C++ сервера. Вроде как большинству достаточно наличия аналога Express-JS и все.
"Концепция поменялась" © Я понял, чего я хочу на самом деле. Не хочу я никакой DSL. А хочу я примерно вот такого:
Это из другого проекта, который пробрасывает плюсовую имплементацию API в JS. Так вот, хотелось бы то же самое, но на уровень веб-сервера. Как можно заметить, тут дублируются имена для регистрации и имплементации (уж не помню почему), но это легко лечится.
Вот это было бы идеально.
S>Из современного модного и молодежного посмотрите на drogon, oat++, реанимированный crow и userver. Это вроде бы то, что претендует на более-менее высокий уровень. Хотя в дополнению к этому еще три-четыре альтернативы можно назвать, но про генерацию стабов для сервера я не слышал
Вот ещё более один список, который я успел найти:
https://www.reddit.com/r/cpp/comments/cjj9t5/what_c_web_server_library_one_should_use_nowadays/
Судя по всему, придётся взять какой-нибудь Mongoose и напедалить FUNCTION_MAP самому.
A>>А нет ли чего-нибудь менее универсального?
S>Не в курсе. Мне не доводилось слышать про генерацию обработчиков HTTP-точек входа для встраиваемого в C++ сервера. Вроде как большинству достаточно наличия аналога Express-JS и все.
"Концепция поменялась" © Я понял, чего я хочу на самом деле. Не хочу я никакой DSL. А хочу я примерно вот такого:
class Library : public Webserver<Library>
{
...
BEGIN_FUNCTION_MAP
FUNCTION_2("getModules", getModules)
FUNCTION_1("offerResult", offerResult)
FUNCTION_1("requestSearch", requestSearch)
FUNCTION_0("getUserName", getUserName)
END_FUNCTION_MAP
json::value getModules(json::value folder, json::value sort) const;
json::value offerResult(json::value result);
json::value requestSearch(json::value query);
json::value getUserName();
};
Это из другого проекта, который пробрасывает плюсовую имплементацию API в JS. Так вот, хотелось бы то же самое, но на уровень веб-сервера. Как можно заметить, тут дублируются имена для регистрации и имплементации (уж не помню почему), но это легко лечится.
Вот это было бы идеально.
S>Из современного модного и молодежного посмотрите на drogon, oat++, реанимированный crow и userver. Это вроде бы то, что претендует на более-менее высокий уровень. Хотя в дополнению к этому еще три-четыре альтернативы можно назвать, но про генерацию стабов для сервера я не слышал
Вот ещё более один список, который я успел найти:
https://www.reddit.com/r/cpp/comments/cjj9t5/what_c_web_server_library_one_should_use_nowadays/
Судя по всему, придётся взять какой-нибудь Mongoose и напедалить FUNCTION_MAP самому.
Re[4]: Web-server для организации API
Здравствуйте, so5team, Вы писали:
A>>А нет ли чего-нибудь менее универсального?
S>Не в курсе. Мне не доводилось слышать про генерацию обработчиков HTTP-точек входа для встраиваемого в C++ сервера. Вроде как большинству достаточно наличия аналога Express-JS и все.
"Концепция поменялась" © Я понял, чего я хочу на самом деле. Не хочу я никакой DSL. А хочу я примерно вот такого:
Это из другого проекта, который пробрасывает плюсовую имплементацию API в JS. Так вот, хотелось бы то же самое, но на уровень веб-сервера. Как можно заметить, тут дублируются имена для регистрации и имплементации (уж не помню почему), но это легко лечится.
Вот это было бы идеально.
S>Из современного модного и молодежного посмотрите на drogon, oat++, реанимированный crow и userver. Это вроде бы то, что претендует на более-менее высокий уровень. Хотя в дополнению к этому еще три-четыре альтернативы можно назвать, но про генерацию стабов для сервера я не слышал
Вот ещё один список, который я успел найти:
https://www.reddit.com/r/cpp/comments/cjj9t5/what_c_web_server_library_one_should_use_nowadays/
Судя по всему, придётся взять какой-нибудь Mongoose и напедалить FUNCTION_MAP самому.
A>>А нет ли чего-нибудь менее универсального?
S>Не в курсе. Мне не доводилось слышать про генерацию обработчиков HTTP-точек входа для встраиваемого в C++ сервера. Вроде как большинству достаточно наличия аналога Express-JS и все.
"Концепция поменялась" © Я понял, чего я хочу на самом деле. Не хочу я никакой DSL. А хочу я примерно вот такого:
class Library : public Webserver<Library>
{
...
BEGIN_FUNCTION_MAP
FUNCTION_2("getModules", getModules)
FUNCTION_1("offerResult", offerResult)
FUNCTION_1("requestSearch", requestSearch)
FUNCTION_0("getUserName", getUserName)
END_FUNCTION_MAP
json::value getModules(json::value folder, json::value sort) const;
json::value offerResult(json::value result);
json::value requestSearch(json::value query);
json::value getUserName();
};
Это из другого проекта, который пробрасывает плюсовую имплементацию API в JS. Так вот, хотелось бы то же самое, но на уровень веб-сервера. Как можно заметить, тут дублируются имена для регистрации и имплементации (уж не помню почему), но это легко лечится.
Вот это было бы идеально.
S>Из современного модного и молодежного посмотрите на drogon, oat++, реанимированный crow и userver. Это вроде бы то, что претендует на более-менее высокий уровень. Хотя в дополнению к этому еще три-четыре альтернативы можно назвать, но про генерацию стабов для сервера я не слышал
Вот ещё один список, который я успел найти:
https://www.reddit.com/r/cpp/comments/cjj9t5/what_c_web_server_library_one_should_use_nowadays/
Судя по всему, придётся взять какой-нибудь Mongoose и напедалить FUNCTION_MAP самому.