[#] [Перевод] Библиотека Silicon — WebAPI на C++
habrabot(difrex,1) — All
2016-03-28 11:30:03


**Прим. переводчика:** _в синтаксисе C++ несколько ограниченны средства построения предметно-ориентированных языков. В итоге их мало кто на С++ пытается использовать, а попытки всё-же это сделать вызывают интерес, тем более, когда в итоге получается нечто стройно выглядящее и практически полезное. Одним из таких открытий для меня стала библиотека Silicon, пытающаяся средствами современного С++ дать возможность быстро и гибко реализовать WebAPI в своём проекте. Давайте посмотрим, насколько просто это выглядит._ Hello World на Silicon — программа, которая на HTTP-запрос к

http://host/hello/world

ответит кодом 200 с текстом «hello world»:

auto my_api = http_api(GET / _hello / _world = [] () { return "hello world";});
mhd_json_serve(my_api, 80);


Неплохо, правда? my\_api здесь это описание нашего API, а mhd\_json\_serve — это бекэнд библиотеки Silicon, реализующий данный API с использованием встроенного вебсервера (на выбор [microhttpd][1] или [LWAN][2]). Давайте посмотрим, что ещё умеет Silicon. [Читать дальше →][3]

[1]: http://www.gnu.org/software/libmicrohttpd/
[2]: http://lwan.ws/
[3]: https://habrahabr.ru/post/280214/#habracut