HashLoad / horse

Fast, opinionated, minimalist web framework for Delphi
MIT License
1.15k stars 217 forks source link

Delphi 11 + Horse + ReactJs + Axios #380

Closed ageu closed 6 months ago

ageu commented 6 months ago

Estou com um erro no Projeto com Horse Mensagem: Project prjAreaAlunoWinAPI.exe raised exception class EHorseCallbackInterrupted with message ''.

Eu já percebi que, quando se usa o ReactJS com axios, é feito 2 requisições, uma usando o método POST e outra usando o OPTIONS. Pelo Postman executa normal se erros. Como resolver ou contornar isso?

1Dragon commented 6 months ago

Está usando o midleware cors?

ageu @.***> escreveu em qua., 13/03/2024 às 02:15 :

Estou com um erro no Projeto com Horse Mensagem: Project prjAreaAlunoWinAPI.exe raised exception class EHorseCallbackInterrupted with message ''.

Eu já percebi que, quando se usa o ReactJS com axios, é feito 2 requisições, uma usando o método POST e outra usando o OPTIONS. Pelo Postman executa normal se erros. Como resolver ou contornar isso?

— Reply to this email directly, view it on GitHub https://github.com/HashLoad/horse/issues/380, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHDH2L3GFCT2W3TF5QAZVMDYX6ZE3AVCNFSM6AAAAABETJXDKKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE4DEOJYGMZTQNY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

viniciussanchez commented 6 months ago

Toda aplicação JS faz duas requisições, uma com o verbo HTTP OPTIONS para validar o CORS. Você deve primeiramente usar o middleware de CORS. No caso imagino que já esteja usando pela mensagem que apresentou. Essa mensagem é normal em modo debug, visto que a requisição para validação do CORS, não precisa ser executada por completo, sendo assim, o próprio middleware lança uma exceção interna (controlada) para encerrar a requisição assim que validado o CORS. Caso você não entenda muito sobre CORS, aconselho fortemente a dar uma estudada, é muito importante em mundos web, envolvendo aplicações JS.

ageu commented 6 months ago

vendo aplicações JS

sim, estou utilizando o midleware CORS no Horse. Então esta excessão que gera é somente em DEBUG, na aplicação rodando não vai dar problema?

viniciussanchez commented 6 months ago

Não...