Vibe.d дозволяє створювати веб-сервери HTTP(S) за короткий проміжок часу:
auto settings = new HTTPServerSettings;
settings.port = 8080;
listenHTTP(settings, &foo);
Це дозволяє запустити веб-сервер на порті 8080, де всі запити
обробляються за допомогою функції foo:
void foo(HTTPServerRequest req,
HTTPServerResponse res) { ... }
Для того, щоб спростити стандартні моделі та конфігурації, існує
клас URLRouter, який реєструє GET, POST та інші
обробники з використанням функцій .get("path", handler) і
.post("path", handler), або реєструє власний клас веб-інтерфейсу,
який реалізує шляхи веб-серверу, як функції:
auto router = new URLRouter;
router.registerWebInterface(new WebService);
listenHTTP(settings, router);
Шляхи функцій веб-інтерфейсу WebService будуть автоматично виведені
за допомогою простої схеми:
index() опрацює /index
getName() опрацює GET запит до /name
postUsername() опрацює POST запит до /username
Шлях користувача може бути встановлений за допомогою функції
@path("/hello/world"). Параметри для запитів POST будуть доступні
для функцій, що використовують імена змінних із префіксом _. Також
можна вказати параметри безпосередньо у самому шляху:
@path("/my/api/:id")
void foo(int _id)
Вам не потрібно передавати об'єкти HTTPServerResponse та
HTTPServerRequest, як це необхідно було робити із кожною функцією.
Vibe.d статично перевіряє, чи є котрийсь об'єкт у списку параметрів
функції та просто передає дані за необхідністю.