TsgcWebSocketHTTPServer › Eventos

Eventos do TsgcWebSocketHTTPServer

Eventos que você pode tratar, agrupados por propósito, seguidos pela lista alfabética completa.

Ciclo de Vida

NameDescrição
OnStartupDisparado após o servidor ter iniciado e estar pronto para aceitar conexões.
OnShutdownDispara depois que o servidor parou e nenhuma conexão a mais é aceita.
OnTCPConnectDisparado após um cliente conectar no nível TCP e antes do handshake do WebSocket, de modo que a conexão possa ser aceita ou rejeitada.
OnConnectDisparado toda vez que uma conexão WebSocket é estabelecida com um cliente.
OnDisconnectDisparado cada vez que uma conexão WebSocket com um cliente é encerrada.
OnHandshakeDispara depois que o handshake é avaliado no lado do servidor e antes da resposta ser enviada.
OnErrorDisparado sempre que ocorre um erro de protocolo WebSocket, como um handshake malformado.
OnExceptionDisparado sempre que uma exceção não tratada é gerada ao processar uma conexão de cliente.
OnUnknownProtocolDisparado quando a primeira mensagem não corresponde a um protocolo conhecido, para que a conexão possa ser aceita ou rejeitada.
OnUnknownAuthenticationDisparado quando a autenticação está habilitada e o método de autenticação não é reconhecido pelo servidor.

Data

NameDescrição
OnMessageDispara toda vez que um cliente envia uma mensagem de texto e ela é recebida pelo servidor.
OnBinaryDisparado toda vez que um cliente envia uma mensagem binária e ela é recebida pelo servidor.
OnFragmentedDisparado quando um fragmento de uma mensagem é recebido (somente quando Options.FragmentedMessages é frgAll ou frgOnlyFragmented).

HTTP

NameDescrição
OnBeforeCommandDisparado antes de OnCommandGet ou OnCommandOther, de modo que a requisição possa ser triada, autorizada ou interrompida com uma resposta 401.
OnCommandGetDisparado quando o servidor HTTP recebe uma requisição GET, POST ou HEAD, para que a aplicação possa construir a resposta.
OnCommandOtherDisparado quando o servidor HTTP recebe um método diferente de GET, POST ou HEAD (PUT, DELETE, OPTIONS, PATCH...).
OnBeforeForwardHTTPDispara antes de uma requisição HTTP ser despachada, de modo que ela possa ser encaminhada (reverse-proxy) a outro servidor HTTP.
OnAfterForwardHTTPDisparado após uma requisição HTTP ter sido encaminhada para que a aplicação possa inspecionar o resultado ou um erro retornado pelo servidor upstream.
OnHTTP2BeforeAsyncRequestDispara antes de uma requisição HTTP/2 ser enfileirada para que a aplicação possa escolher se ela é executada no pool de threads ou na thread da conexão.

Sessions

NameDescrição
OnCreateSessionDispara quando o servidor HTTP precisa criar uma nova sessão, para que a aplicação possa fornecer uma instância TIdHTTPSession personalizada.
OnSessionStartDisparado quando uma sessão HTTP é iniciada e adicionada à SessionList.
OnSessionEndDisparado quando uma sessão HTTP é fechada, seja explicitamente ou após SessionTimeout expirar.
OnInvalidSessionDisparado quando uma requisição HTTP apresenta um ID de sessão desconhecido ou expirado, para que a aplicação possa decidir como reagir.

HTTP Upload

NameDescrição
OnHTTPUploadBeforeSaveFileDisparado logo antes de um arquivo extraído de um upload multipart/form-data ser salvo em disco, de modo que o nome e o caminho possam ser personalizados.
OnHTTPUploadAfterSaveFileDisparado depois que um arquivo extraído de um upload multipart/form-data foi salvo em disco.
OnHTTPUploadReadInputDisparado quando o decodificador multipart/form-data lê um campo de entrada que não é arquivo, para que seu valor possa ser capturado.
OnHTTPUploadBeforeCreatePostStreamDisparado depois que os headers da requisição foram lidos e antes de o stream POST ser criado, para que o upload possa ser aceito ou rejeitado.

Confiabilidade

NameDescrição
OnBeforeHeartBeatDispara antes de cada ping de HeartBeat para que a aplicação possa implementar um keep-alive personalizado.
OnLoadBalancerConnectDispara quando o servidor se conecta ao Load Balancer Server.
OnLoadBalancerDisconnectDisparado quando o servidor se desconecta do Load Balancer Server.
OnLoadBalancerErrorDispara quando ocorre um erro na comunicação com o Load Balancer Server.

Security

NameDescrição
OnAuthenticationDispara quando a autenticação está habilitada para que a aplicação possa verificar usuário e senha e aceitar ou rejeitar a conexão.
OnSSLGetHandlerDisparado antes de o manipulador SSL ser criado, de modo que uma instância de manipulador personalizado do lado do servidor possa ser fornecida.
OnSSLAfterCreateHandlerDispara depois que o SSL handler foi criado, de modo que suas propriedades possam ser personalizadas.
OnSSLALPNSelectDisparado durante um handshake com ALPN habilitado, para que a aplicação possa escolher qual protocolo negociar.
OnSSLVerifyPeerDispara quando VerifyCertificate está habilitado e o cliente apresenta um certificado a ser aceito ou rejeitado.

Todos os Eventos (alfabético)

NameDescrição
OnAfterForwardHTTPDisparado após uma requisição HTTP ter sido encaminhada para que a aplicação possa inspecionar o resultado ou um erro retornado pelo servidor upstream.
OnAuthenticationDispara quando a autenticação está habilitada para que a aplicação possa verificar usuário e senha e aceitar ou rejeitar a conexão.
OnBeforeCommandDisparado antes de OnCommandGet ou OnCommandOther, de modo que a requisição possa ser triada, autorizada ou interrompida com uma resposta 401.
OnBeforeForwardHTTPDispara antes de uma requisição HTTP ser despachada, de modo que ela possa ser encaminhada (reverse-proxy) a outro servidor HTTP.
OnBeforeHeartBeatDispara antes de cada ping de HeartBeat para que a aplicação possa implementar um keep-alive personalizado.
OnBinaryDisparado toda vez que um cliente envia uma mensagem binária e ela é recebida pelo servidor.
OnCommandGetDisparado quando o servidor HTTP recebe uma requisição GET, POST ou HEAD, para que a aplicação possa construir a resposta.
OnCommandOtherDisparado quando o servidor HTTP recebe um método diferente de GET, POST ou HEAD (PUT, DELETE, OPTIONS, PATCH...).
OnConnectDisparado toda vez que uma conexão WebSocket é estabelecida com um cliente.
OnCreateSessionDispara quando o servidor HTTP precisa criar uma nova sessão, para que a aplicação possa fornecer uma instância TIdHTTPSession personalizada.
OnDisconnectDisparado cada vez que uma conexão WebSocket com um cliente é encerrada.
OnErrorDisparado sempre que ocorre um erro de protocolo WebSocket, como um handshake malformado.
OnExceptionDisparado sempre que uma exceção não tratada é gerada ao processar uma conexão de cliente.
OnFragmentedDisparado quando um fragmento de uma mensagem é recebido (somente quando Options.FragmentedMessages é frgAll ou frgOnlyFragmented).
OnHandshakeDispara depois que o handshake é avaliado no lado do servidor e antes da resposta ser enviada.
OnHTTP2BeforeAsyncRequestDispara antes de uma requisição HTTP/2 ser enfileirada para que a aplicação possa escolher se ela é executada no pool de threads ou na thread da conexão.
OnHTTPUploadAfterSaveFileDisparado depois que um arquivo extraído de um upload multipart/form-data foi salvo em disco.
OnHTTPUploadBeforeCreatePostStreamDisparado depois que os headers da requisição foram lidos e antes de o stream POST ser criado, para que o upload possa ser aceito ou rejeitado.
OnHTTPUploadBeforeSaveFileDisparado logo antes de um arquivo extraído de um upload multipart/form-data ser salvo em disco, de modo que o nome e o caminho possam ser personalizados.
OnHTTPUploadReadInputDisparado quando o decodificador multipart/form-data lê um campo de entrada que não é arquivo, para que seu valor possa ser capturado.
OnInvalidSessionDisparado quando uma requisição HTTP apresenta um ID de sessão desconhecido ou expirado, para que a aplicação possa decidir como reagir.
OnLoadBalancerConnectDispara quando o servidor se conecta ao Load Balancer Server.
OnLoadBalancerDisconnectDisparado quando o servidor se desconecta do Load Balancer Server.
OnLoadBalancerErrorDispara quando ocorre um erro na comunicação com o Load Balancer Server.
OnMessageDispara toda vez que um cliente envia uma mensagem de texto e ela é recebida pelo servidor.
OnSessionEndDisparado quando uma sessão HTTP é fechada, seja explicitamente ou após SessionTimeout expirar.
OnSessionStartDisparado quando uma sessão HTTP é iniciada e adicionada à SessionList.
OnShutdownDispara depois que o servidor parou e nenhuma conexão a mais é aceita.
OnSSLAfterCreateHandlerDispara depois que o SSL handler foi criado, de modo que suas propriedades possam ser personalizadas.
OnSSLALPNSelectDisparado durante um handshake com ALPN habilitado, para que a aplicação possa escolher qual protocolo negociar.
OnSSLGetHandlerDisparado antes de o manipulador SSL ser criado, de modo que uma instância de manipulador personalizado do lado do servidor possa ser fornecida.
OnSSLVerifyPeerDispara quando VerifyCertificate está habilitado e o cliente apresenta um certificado a ser aceito ou rejeitado.
OnStartupDisparado após o servidor ter iniciado e estar pronto para aceitar conexões.
OnTCPConnectDisparado após um cliente conectar no nível TCP e antes do handshake do WebSocket, de modo que a conexão possa ser aceita ou rejeitada.
OnUnknownAuthenticationDisparado quando a autenticação está habilitada e o método de autenticação não é reconhecido pelo servidor.
OnUnknownProtocolDisparado quando a primeira mensagem não corresponde a um protocolo conhecido, para que a conexão possa ser aceita ou rejeitada.