HTTP API
| Označení modulu | HTTP_API |
|---|---|
| Kategorie modulu | Core Modules -> Special |
| Popis modulu | HttpApi |
Parametry
| Název | Popis | Default |
|---|---|---|
| Enabled | Povoluje/Zakazuje modul | False |
| ServerAdress | Adresa na které HttpApi naslouchá | http://+:80/ |
| HandleTimeout | Čas na obsloužení požadavku v milisekundách | 10000 |
| Listen | Povoluje/Zakazuje modul | False |
| DebugLog | Zapíná extra logování pro debug | True |
Jak to funguje
- HttpListener odchytí request, dojde k vyparsování dat z requestu. Buď je možné odeslat response rovnou nebo jsou vytvořené nové SGRecievedData, které se pošlou ke zpracování do fronty.
- V tomto případě se pak čeká na message z messenegeru, pomocí které jsou z modulu předána data pro response a pokračuje se odesláním response
- Konkrétní příklad: Dojde request na url "/api/login". Vytvoří se instance HttpApiLoginDataRequest, kam se vypareserují data z requestu (userid a wp). Tato instance je předána do fronty jako nové SGRecievedData.
- Čeká se na handle. Modul UserWorkGroup data z fronty zpracuje, přihlásí uživatele, vytvoří instanci
- HttpApiDataResponse a odešle ji přes messenger.
- Message je zde odchycena událostí GetApiResult, přijme se instance dat HttpApiDataResponse a spustí se handle. Pokračuje se k serializaci dat a odeslání response.