Árvore de páginas

O que são?

O REST server possui recursos de Callback, definidos na sessão [User Exits], onde é possível configurar funções customizadas para serem executadas em sete (7) 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.


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 aqui


[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].

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 - OnBlock

2 - OnAllow

3 - OnStart

4 - OnStop

5 - OnSelect

6 - OnError

7 - OnSend

  • Sem rótulos