TSEHTTP API
| Označení modulu | TSEHTTP_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 |
| ProcessRegex | Regex pro čtení výrobní objednávky a operace z proc | (?<job>.{1,8})(?<operation>.{3}) |
| TestProgramName | Název programu, který se odešle na request process | |
| ProgramParamName | Název katalogového parametru programu stroje | |
| TestMode | Testovací mód. Na requesty se odpovídá předem připravenou odpovědí. Data nejdou do xTrace. | False |
| ManualJsonSerialization | Manuální mód serializace JSONu. Určeno jen pro vybraná pracoviště | False |
| PDAReferer | Adresa, kde běží web. Slouží pro identifikaci requestu z PDA, pro které je nutné použít standaradní serializaci. | http://172.22.17.185 |
| UseCantest | Request PCBInfo bude zpracován jako request Cantest | False |
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.