Histórico da Página
...
O REST server possui recursos de Callback, definidos na sessão [User Exits], onde é possível configurar funções customizadas para serem executadas em quatro sete (47) momentos específicos, sendo:
- dois (
...
- 4) na infraestrutura do server:
- Criação da Thread [
...
- OnStart];
- Finalização da Thread [
...
- OnStop].
- Bloqueio de URN's disponibilizados pelo REST [OnAllow] ou [OnBlock].
...
- três (
...
- 3) no atendimento da requisição HTTP:
- Escolha qual Thread executará a requisição HTTP [
...
- OnSelect];
- Tratamento dos erros de runtime
...
- [OnError].
- Tratamento das mensagens para todos os retornos [OnSend].
Sendo assim, ao informar o nome da função em uma dessas chaves, o tlppCore irá executar a função do usuário conforme sua funcionalidade proporcionando flexibilidade no uso do REST.
...
| Nota |
|---|
Necessário informar um nome válido de função e que esteja compilada no RPO correspondente no Environment do serviço REST, caso contrário, o tlppCore irá ignorar essa configuração e seguirá sem o desvio do Callback, ou dependendo da funcionalidade pode até impedir a inicializar do serviço REST. |
Configuração
Observem o exemplo de configuração abaixo:
Nota: os trechos que estão ocultos foram substituídos por ... para facilitar a leitura. A configuração completa você pode consultar
| Bloco de código |
|---|
[HTTPSERVER] |
...
Enable=1 |
...
Servers=HTTP_SRV |
...
... |
...
[HTTP_SRV] |
...
locations=HTTP_ROOT |
...
... |
...
[HTTP_ROOT] |
...
ThreadPool=THREAD_POOL |
...
... |
...
[THREAD_POOL] |
...
UserExits=TP_UEX |
...
... |
...
Slaves=SLAVE_01,SLAVE_02 |
...
[TP_UEX] |
...
OnBlock=U_OnBlock ;OnAllow=U_OnAllow OnSelect=U_OnSelect |
...
OnError=U_OnError |
...
[SLAVE_01] |
...
UserExits=SLAVES_UEX |
...
... |
...
[SLAVE_02] |
...
UserExits=SLAVES_UEX |
...
... |
...
[SLAVES_UEX] |
...
OnStart=U_OnStart |
...
OnStop=U_OnStop |
...
OnError=U_OnError |
...
Nesse exemplo de configuração, optamos por algo simples, ou seja, deixamos para a Thread principal [THREAD_POOL] a responsabilidade de escolha das threads de atendimento, por isso configuramos a função
...
de OnSelect, configuramos também a lista de URNs que desejamos bloquear usando [OnBlock ou OnAllow].
| Nota |
|---|
Importante: Para o mesmo ambiente só podemos configurar OnAllow ou OnBlock, pois ambos servem para bloquear determinadas URN para uso geral. |
E
...
para as Threads de Slaves a responsabilidade de atendimento das requisições, dessa forma configuramos para elas as funções de
...
OnStart, OnStop e OnSend.
Note que o tratamento de erro, função de
...
OnError, deixamos configurado para todas as Threads, pois é comum à todos.
Sendo assim, começamos agora a demonstrar como se utiliza a cada um dos Callback.
Como se utilizam?
Para cada User Exits, utilize sua documentação específica:
1 -
...
2 -
...
3 -
...
4
...
- OnStop
5 - OnSelect
6 - OnError
7 - OnSend