TsgcWebSocketHTTPServer › Zdarzenia

Zdarzenia TsgcWebSocketHTTPServer

Zdarzenia, które można obsługiwać, pogrupowane według przeznaczenia, a następnie pełna lista alfabetyczna.

Cykl życia

NazwaOpis
OnStartupWywoływane po uruchomieniu serwera i jego gotowości do akceptowania połączeń.
OnShutdownWywoływane po zatrzymaniu serwera i zakończeniu akceptowania połączeń.
OnTCPConnectWywoływane po połączeniu klienta na poziomie TCP i przed uzgadnianiem WebSocket, umożliwiając zaakceptowanie lub odrzucenie połączenia.
OnConnectWywoływane za każdym razem, gdy z klientem zostanie nawiązane połączenie WebSocket.
OnDisconnectWywoływane za każdym razem, gdy połączenie WebSocket z klientem zostaje przerwane.
OnHandshakeWywoływane po ocenie uzgadniania po stronie serwera i przed wysłaniem odpowiedzi.
OnErrorWywoływane za każdym razem, gdy wystąpi błąd protokołu WebSocket, np. nieprawidłowo sformowany handshake.
OnExceptionWywoływane za każdym razem, gdy podczas przetwarzania połączenia klienta zostanie zgłoszony nieobsługiwany wyjątek.
OnUnknownProtocolWywoływane, gdy pierwsza wiadomość nie pasuje do żadnego ze znanych protokołów, dzięki czemu połączenie może zostać zaakceptowane lub odrzucone.
OnUnknownAuthenticationWywoływane, gdy uwierzytelnianie jest włączone, a metoda uwierzytelniania nie jest rozpoznawana przez serwer.

Dane

NazwaOpis
OnMessageWywoływane za każdym razem, gdy klient wysyła wiadomość tekstową i zostaje ona odebrana przez serwer.
OnBinaryWywoływane za każdym razem, gdy klient wyśle wiadomość binarną, a serwer ją odbierze.
OnFragmentedWywoływane po odebraniu fragmentu wiadomości (tylko gdy Options.FragmentedMessages ma wartość frgAll lub frgOnlyFragmented).

HTTP

NazwaOpis
OnBeforeCommandWywoływane przed OnCommandGet lub OnCommandOther, aby żądanie mogło być sprawdzone, autoryzowane lub krótko-obwodowane odpowiedzią 401.
OnCommandGetWywoływane, gdy serwer HTTP odbiera żądanie GET, POST lub HEAD, umożliwiając aplikacji przygotowanie odpowiedzi.
OnCommandOtherWywoływane, gdy serwer HTTP odbiera metodę inną niż GET, POST lub HEAD (PUT, DELETE, OPTIONS, PATCH...).
OnBeforeForwardHTTPWywoływane przed wysłaniem żądania HTTP, aby mogło być ono przekazane (reverse-proxy) do innego serwera HTTP.
OnAfterForwardHTTPWywoływane po przesłaniu żądania HTTP, aby aplikacja mogła sprawdzić wynik lub błąd zwrócony przez serwer nadrzędny.
OnHTTP2BeforeAsyncRequestWywoływane przed umieszczeniem żądania HTTP/2 w kolejce, umożliwiając aplikacji wybór, czy zostanie ono wykonane w puli wątków, czy w wątku połączenia.

Sesje

NazwaOpis
OnCreateSessionWywoływane, gdy serwer HTTP musi utworzyć nową sesję, aby aplikacja mogła dostarczyć własną instancję TIdHTTPSession.
OnSessionStartWywoływane po uruchomieniu sesji HTTP i dodaniu jej do listy SessionList.
OnSessionEndWywoływane, gdy sesja HTTP zostaje zamknięta, jawnie lub po wygaśnięciu SessionTimeout.
OnInvalidSessionWywoływane, gdy żądanie HTTP zawiera nieznany lub wygasły identyfikator sesji, umożliwiając aplikacji podjęcie decyzji o sposobie reakcji.

Przesyłanie HTTP

NazwaOpis
OnHTTPUploadBeforeSaveFileWywoływane przed zapisaniem na dysku pliku wyodrębnionego z przesłanego formularza multipart/form-data, co umożliwia dostosowanie nazwy i ścieżki.
OnHTTPUploadAfterSaveFileWywoływane po zapisaniu na dysku pliku wyodrębnionego z przesyłanego multipart/form-data.
OnHTTPUploadReadInputWywoływane, gdy dekoder multipart/form-data odczytuje pole wejściowe niebędące plikiem, aby można było przechwycić jego wartość.
OnHTTPUploadBeforeCreatePostStreamWywoływane po odczytaniu nagłówków żądania, a przed utworzeniem strumienia POST, umożliwiając akceptację lub odrzucenie przesyłania.

Niezawodność

NazwaOpis
OnBeforeHeartBeatWywoływane przed każdym pingiem HeartBeat, umożliwiając aplikacji implementację niestandardowego mechanizmu utrzymywania połączenia.
OnLoadBalancerConnectWywoływane, gdy serwer łączy się z serwerem równoważenia obciążenia.
OnLoadBalancerDisconnectWywoływane gdy serwer rozłącza się z serwerem Load Balancer.
OnLoadBalancerErrorWywoływane w przypadku błędu komunikacji z serwerem Load Balancer.

Bezpieczeństwo

NazwaOpis
OnAuthenticationWywoływane, gdy uwierzytelnianie jest włączone, co umożliwia aplikacji sprawdzenie nazwy użytkownika i hasła oraz zaakceptowanie lub odrzucenie połączenia.
OnSSLGetHandlerWywoływane przed utworzeniem procedury obsługi SSL, co umożliwia dostarczenie niestandardowej instancji procedury obsługi po stronie serwera.
OnSSLAfterCreateHandlerWywoływane po utworzeniu procedury obsługi SSL, umożliwiając dostosowanie jej właściwości.
OnSSLALPNSelectWywoływane podczas uzgadniania z włączonym ALPN, aby aplikacja mogła wybrać protokół do negocjacji.
OnSSLVerifyPeerWywoływane, gdy VerifyCertificate jest włączone i klient przedstawia certyfikat do zaakceptowania lub odrzucenia.

Wszystkie zdarzenia (alfabetycznie)

NazwaOpis
OnAfterForwardHTTPWywoływane po przesłaniu żądania HTTP, aby aplikacja mogła sprawdzić wynik lub błąd zwrócony przez serwer nadrzędny.
OnAuthenticationWywoływane, gdy uwierzytelnianie jest włączone, co umożliwia aplikacji sprawdzenie nazwy użytkownika i hasła oraz zaakceptowanie lub odrzucenie połączenia.
OnBeforeCommandWywoływane przed OnCommandGet lub OnCommandOther, aby żądanie mogło być sprawdzone, autoryzowane lub krótko-obwodowane odpowiedzią 401.
OnBeforeForwardHTTPWywoływane przed wysłaniem żądania HTTP, aby mogło być ono przekazane (reverse-proxy) do innego serwera HTTP.
OnBeforeHeartBeatWywoływane przed każdym pingiem HeartBeat, umożliwiając aplikacji implementację niestandardowego mechanizmu utrzymywania połączenia.
OnBinaryWywoływane za każdym razem, gdy klient wyśle wiadomość binarną, a serwer ją odbierze.
OnCommandGetWywoływane, gdy serwer HTTP odbiera żądanie GET, POST lub HEAD, umożliwiając aplikacji przygotowanie odpowiedzi.
OnCommandOtherWywoływane, gdy serwer HTTP odbiera metodę inną niż GET, POST lub HEAD (PUT, DELETE, OPTIONS, PATCH...).
OnConnectWywoływane za każdym razem, gdy z klientem zostanie nawiązane połączenie WebSocket.
OnCreateSessionWywoływane, gdy serwer HTTP musi utworzyć nową sesję, aby aplikacja mogła dostarczyć własną instancję TIdHTTPSession.
OnDisconnectWywoływane za każdym razem, gdy połączenie WebSocket z klientem zostaje przerwane.
OnErrorWywoływane za każdym razem, gdy wystąpi błąd protokołu WebSocket, np. nieprawidłowo sformowany handshake.
OnExceptionWywoływane za każdym razem, gdy podczas przetwarzania połączenia klienta zostanie zgłoszony nieobsługiwany wyjątek.
OnFragmentedWywoływane po odebraniu fragmentu wiadomości (tylko gdy Options.FragmentedMessages ma wartość frgAll lub frgOnlyFragmented).
OnHandshakeWywoływane po ocenie uzgadniania po stronie serwera i przed wysłaniem odpowiedzi.
OnHTTP2BeforeAsyncRequestWywoływane przed umieszczeniem żądania HTTP/2 w kolejce, umożliwiając aplikacji wybór, czy zostanie ono wykonane w puli wątków, czy w wątku połączenia.
OnHTTPUploadAfterSaveFileWywoływane po zapisaniu na dysku pliku wyodrębnionego z przesyłanego multipart/form-data.
OnHTTPUploadBeforeCreatePostStreamWywoływane po odczytaniu nagłówków żądania, a przed utworzeniem strumienia POST, umożliwiając akceptację lub odrzucenie przesyłania.
OnHTTPUploadBeforeSaveFileWywoływane przed zapisaniem na dysku pliku wyodrębnionego z przesłanego formularza multipart/form-data, co umożliwia dostosowanie nazwy i ścieżki.
OnHTTPUploadReadInputWywoływane, gdy dekoder multipart/form-data odczytuje pole wejściowe niebędące plikiem, aby można było przechwycić jego wartość.
OnInvalidSessionWywoływane, gdy żądanie HTTP zawiera nieznany lub wygasły identyfikator sesji, umożliwiając aplikacji podjęcie decyzji o sposobie reakcji.
OnLoadBalancerConnectWywoływane, gdy serwer łączy się z serwerem równoważenia obciążenia.
OnLoadBalancerDisconnectWywoływane gdy serwer rozłącza się z serwerem Load Balancer.
OnLoadBalancerErrorWywoływane w przypadku błędu komunikacji z serwerem Load Balancer.
OnMessageWywoływane za każdym razem, gdy klient wysyła wiadomość tekstową i zostaje ona odebrana przez serwer.
OnSessionEndWywoływane, gdy sesja HTTP zostaje zamknięta, jawnie lub po wygaśnięciu SessionTimeout.
OnSessionStartWywoływane po uruchomieniu sesji HTTP i dodaniu jej do listy SessionList.
OnShutdownWywoływane po zatrzymaniu serwera i zakończeniu akceptowania połączeń.
OnSSLAfterCreateHandlerWywoływane po utworzeniu procedury obsługi SSL, umożliwiając dostosowanie jej właściwości.
OnSSLALPNSelectWywoływane podczas uzgadniania z włączonym ALPN, aby aplikacja mogła wybrać protokół do negocjacji.
OnSSLGetHandlerWywoływane przed utworzeniem procedury obsługi SSL, co umożliwia dostarczenie niestandardowej instancji procedury obsługi po stronie serwera.
OnSSLVerifyPeerWywoływane, gdy VerifyCertificate jest włączone i klient przedstawia certyfikat do zaakceptowania lub odrzucenia.
OnStartupWywoływane po uruchomieniu serwera i jego gotowości do akceptowania połączeń.
OnTCPConnectWywoływane po połączeniu klienta na poziomie TCP i przed uzgadnianiem WebSocket, umożliwiając zaakceptowanie lub odrzucenie połączenia.
OnUnknownAuthenticationWywoływane, gdy uwierzytelnianie jest włączone, a metoda uwierzytelniania nie jest rozpoznawana przez serwer.
OnUnknownProtocolWywoływane, gdy pierwsza wiadomość nie pasuje do żadnego ze znanych protokołów, dzięki czemu połączenie może zostać zaakceptowane lub odrzucone.