hello all !
i am trying to make multiple httpjobs to an API, in Localhost works fine, if i upload to vps ( Digital Ocean ) i got some erros :
this is the function that is calling multiple httpjob resumable :
some examples of how functions are calling httpjob
i am trying to make multiple httpjobs to an API, in Localhost works fine, if i upload to vps ( Digital Ocean ) i got some erros :
Code:
killed ? = null
ResponseError. Reason: Bad Request, Response: ["ERROR_LOGIN_PARAMETERS_MISSING","os parâmetros login, senha ou user_token estão faltando; ver documentação em seu navegador em http://100.Xxx.xxxx.xxx:1010/apirest.php/#ERROR_LOGIN_PARAMETERS_MISSING"]
ResponseError. Reason: Bad Request, Response: ["ERROR_SESSION_TOKEN_MISSING","o parâmetro session_token está faltando ou vazio; ver documentação em seu navegador em http://100.Xxx.xxxx.xxx:1010/apirest.php/#ERROR_SESSION_TOKEN_MISSING"]
sending msg to zap
zap enviado ? {
"success": false,
"error": "Sem contato para enviar"
}
Zap ? = ok
ResponseError. Reason: Bad Request, Response: ["ERROR_SESSION_TOKEN_MISSING","o parâmetro session_token está faltando ou vazio; ver documentação em seu navegador em http://100.Xxx.xxxx.xxx:1010/apirest.php/#ERROR_SESSION_TOKEN_MISSING"]
killed ? = null
zap = ok
this is the function that is calling multiple httpjob resumable :
B4X:
Sub actionopenchamado_Click (Params As Map)
If (UserCode <> "") Then
Log("open chamado : ")
Wait For( Manager.LGPI_InitSession) Complete (tmpSession As String)
Log("session = "&tmpSession)
If (tmpSession <> "") Then
Dim SelectedOption As String = ws.EvalWithResult($"return $('#tecnicosLista').find(":selected").val();"$, Null).Value
Dim tmpchamadoTitle As String = chamadot.GetVal.Value
Dim tmpchamadoData As String = chamadod.GetVal.Value
Log("SelectedOption = "&SelectedOption)
Wait For( Manager.LGPI_CreateTicket(tmpSession,tmpchamadoTitle,tmpchamadoData,UserId,SelectedOption,EntityId)) Complete (tmpTicket As String)
Dim tparser As JSONParser
tparser.Initialize(tmpTicket)
Dim root As Map = tparser.NextObject
Dim chamadoid As Int = root.Get("id")
Dim chamadomessage As String = root.Get("message")
Dim chamadoHtml As String = $"
<div class="card" id="card${chamadoid}">
<div class="card-body">
<h4 class="card-title">[${chamadoid}] ${tmpchamadoTitle}</h4>
<h6 id="statusChamado${chamadoid}" style="color: var(--green);">ABERTO</h6>
<p class="card-text">${tmpchamadoData}<br/><br/></p>
<button class="btn btn-primary disabled" Type="button">Abrir Chat</button>
<button id="closechamado:${chamadoid}" class="btn btn-danger" Type="button">Fechar Chamado</button>
</div>
</div>
"$
areachamados.SetHtml(chamadoHtml&areachamados.GetHtml.Value)
ws.Eval("$('#modalChamados').modal('hide');",Null)
ws.Eval($"Toastify({
text: "Chamado aberto, breve será atendido !",
duration: 3000,
destination: "",
newWindow: true,
close: true,
gravity: "bottom", // `top` or `bottom`
position: "right", // `left`, `center` or `right`
stopOnFocus: true, // Prevents dismissing of toast on hover
style: {
background: "linear-gradient(to right, #00b09b, #96c93d)",
},
onClick: function(){} // Callback after click
}).showToast();
"$,Null)
chamadot.SetVal("")
chamadod.SetVal("")
ws.Flush
Log("chegou aqui !")
Wait For( Manager.LGPI_KillSession(tmpSession) ) Complete (tmpKill As String)
Log("killed ? = "&tmpKill)
Wait For( Manager.ZapMsg("Chamado Criado [id] : "&chamadoid&".",SelectedOption) ) Complete (tmpzap As String)
Log("zap = "&tmpzap)
' LocalDB.CriarChamado(chamadoid,UserCode)
Else
ws.Eval("$('#modalChamados').modal('hide');",Null)
ws.Eval($"Toastify({
text: "Houve um erro ao abrir o chamado.",
duration: 3000,
destination: "",
newWindow: true,
close: true,
gravity: "bottom", // `top` or `bottom`
position: "right", // `left`, `center` or `right`
stopOnFocus: true, // Prevents dismissing of toast on hover
style: {
background: "linear-gradient(to right, #CC0000,#FF0000)",
},
onClick: function(){} // Callback after click
}).showToast();
"$,Null)
chamadot.SetVal("")
chamadod.SetVal("")
ws.Flush
End If
End If
some examples of how functions are calling httpjob
B4X:
Sub LGPI_InitSession As ResumableSub
Dim job As HttpJob
Dim session_token As String = ""
job.Initialize("", Me) 'note that the name parameter is no longer needed.
job.Download("https://mydomain/apirest.php/initSession")
job.GetRequest.SetHeader("Authorization","Basic BASIC64TOKEN==")
job.GetRequest.SetHeader("App-Token","MYAPPTOKEN")
Wait For JobDone(job As HttpJob)
If job.Success Then
Dim parser As JSONParser
parser.Initialize(job.GetString)
Dim root As Map = parser.NextObject
session_token = root.Get("session_token")
Log(session_token)
End If
job.Release
Return session_token
End Sub
Sub LGPI_KillSession(sessionid As String) As ResumableSub
Dim job As HttpJob
job.Initialize("", Me) 'note that the name parameter is no longer needed.
job.Download("https://mydomain/apirest.php/killSession")
job.GetRequest.SetHeader("Authorization","Basic BASIC64TOKEN==")
job.GetRequest.SetHeader("App-Token","MYAPPTOKEN")
Wait For JobDone(job As HttpJob)
If job.Success Then
If (job.GetString.Contains("ERROR_SESSION_TOKEN_INVALID")) Then
Log("KillSession = ERROR_SESSION_TOKEN_INVALID")
job.Release
Return "error"
End If
job.Release
Return "ok"
End If
job.Release
End Sub
Sub LGPI_CreateTicket(t_session As String,t_name As String,t_content As String,t_requerente As Int,t_tecnico As Int,t_entidade As Int) As ResumableSub
Dim t_json As String = $"{
"input": {
"name": "${t_name}",
"content": "${t_content}",
"status": "1",
"urgency": 2,
"entities_id": ${t_entidade},
"users_id_lastupdater": ${t_tecnico},
"users_id_recipient": ${t_requerente},
"_users_id_requester": ${t_requerente},
"_users_id_assign": ${t_tecnico},
"status": 1,
"priority": 2
}
}"$
'Log("Json = "&t_json)
Log("Session Token Create : "&t_session)
Dim job As HttpJob
job.Initialize("", Me) 'note that the name parameter is no longer needed.
job.PostString("mydomain/apirest.php/Ticket/",t_json)
job.GetRequest.SetContentType("application/json")
job.GetRequest.SetHeader("session-token",t_session)
job.GetRequest.SetHeader("App-Token","MYtoken")
'job.GetRequest.SetHeader("Content-Type","application/json")
Wait For JobDone(job As HttpJob)
If job.Success Then
Return job.GetString
End If
job.Release
End Sub