Iremos utilizar a mesma configuração feita no item anterior.
Esse modo é feito através de código-fonte e no processo de subida é preciso informar a configuração desejada através de um JSON.
Segue exemplo:
Inicialização de um serviço REST dinamicamente
user function fInitService()
local oVdrCtrl := VdrCtrl():New()
local cAppPath := "/examples"
local nResult := -1
local jConfig
jConfig['HTTPSERVER'] := JsonObject():New()
jConfig['HTTPSERVER']['Enable'] := .T.
jConfig['HTTPSERVER']['Servers'] := {"INIT_HTTP_REST"}
jConfig['INIT_HTTP_REST'] := JsonObject():New()
jConfig['INIT_HTTP_REST']['Port'] := "9995"
jConfig['INIT_HTTP_REST']['HostName'] := "TLPP_REST_SERVER"
jConfig['INIT_HTTP_REST']['Locations'] := {"HTTP_ROOT"}
jConfig['HTTP_ROOT'] := JsonObject():new()
jConfig['HTTP_ROOT']['Path'] := cAppPath
jConfig['HTTP_ROOT']['RootPath'] := "C:\tlppCore\bin\root\web"
jConfig['HTTP_ROOT']['ThreadPool'] := "THREAD_POOL"
jConfig['THREAD_POOL'] := JsonObject():new()
jConfig['THREAD_POOL']['MinThreads'] := 1
/* -----------------------------------------------------------
Aqui é feita a chamada para a função responsável por criar o
vinculo entre URN´s e as aplicações
*/
jConfig['INIT_HTTP_REST']['LoadURNs'] := JsonObject():new()
if !(sLoadURNs(@jConfig['INIT_HTTP_REST']['LoadURNs']))
Return Nil
endif
/*------------------------------------------------------------*/
nResult := oVdrCtrl:Start(jConfig)
if ( ValType(nResult) == 'N' .and. nResult == 0 )
conout("### Servidor HTTP inicializado com sucesso!")
else
conout("### Erro ao inicializar HTTP server [" + cValToChar(nResult) + "] - " + cValToChar(oVdrCtrl:getControlErrCode()) + " - " + oVdrCtrl:getControlErrDesc() )
endif
return nResult
Para saber mais sobre LoadURNs, acesse a documentação
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas