feat(horse): adicionar selector HORSE_PROVIDER_NGHTTP2 e hooks de ciclo de vida - #555
feat(horse): adicionar selector HORSE_PROVIDER_NGHTTP2 e hooks de ciclo de vida#555freitasjca wants to merge 2 commits into
Conversation
|
Obrigado por fechar o #545 e reabrir este PR rebaseado e com escopo bem menor. A estrutura agora está muito mais próxima do que precisamos, mas encontrei alguns pontos a ajustar antes da aprovação:
Com esses ajustes, o PR ficará isolado e pronto para a revisão final da integração opt-in do provider. |
Adds the opt-in define HORSE_PROVIDER_NGHTTP2 (and strict-mode alias HORSE_PROVIDER_NGHTTP2_REQUIRED) to Horse.pas so the nghttp2 HTTP/2 transport can be selected without touching any existing provider code. horse-provider-nghttp2 supplies TListen, DoStartListenFunc, and DoStopListenFunc; Horse.pas routes to them when the define is set. All other providers (Indy, fphttpserver, CrossSocket, mORMot, ICS, HTTP.sys, epoll, IOCP, host-managed) are completely unaffected. Without the define this file compiles identically to the upstream original on both Delphi and Lazarus/FPC. Supersedes closed PR HashLoad#545.
f24380f to
e55fb03
Compare
|
Obrigado pela revisão e pelas indicações dadas. Todos os ajustes foram aplicados e enviados (e55fb03, rebaseado sobre 0bc2ab7).
── 19 compile-guard negative cases (Horse.pas) ───────────────────────── Cada teste verifica a mensagem específica, não apenas o código de saída — só o status passaria em qualquer quebra não relacionada e continuaria passando se a guarda fosse removida. Ressalva importante: esses testes vivem no repositório do provider (horse-provider-nghttp2, samples/tests/build-fpc.sh, estágio 19), não neste PR — o diff aqui não contém teste algum. Testes de guarda são de tempo de compilação, então não são expressáveis em DUnitX; precisariam de um script próprio na suíte do Horse. |
O que este PR faz
Adiciona uma directiva de compilação opcional ao
Horse.pas: