TsgcWebSocketHTTPServer › 이벤트

TsgcWebSocketHTTPServer 이벤트

용도별로 그룹화된 처리할 수 있는 이벤트와 그 뒤에 전체 알파벳순 목록입니다.

Lifecycle

Name설명
OnStartup서버가 시작되어 연결을 수락할 준비가 된 후에 발생합니다.
OnShutdown서버가 중지되고 더 이상 연결을 수락하지 않은 후에 발생합니다.
OnTCPConnect클라이언트가 TCP 수준에서 연결된 후 WebSocket 핸드셰이크 전에 발생하므로, 연결을 수락하거나 거부할 수 있습니다.
OnConnect클라이언트와 WebSocket 연결이 설정될 때마다 발생합니다.
OnDisconnect클라이언트와의 WebSocket 연결이 끊어질 때마다 발생합니다.
OnHandshake서버 측에서 핸드셰이크가 평가된 후 응답이 전송되기 전에 발생합니다.
OnError잘못된 형식의 핸드셰이크와 같은 WebSocket 프로토콜 오류가 발생할 때마다 발생합니다.
OnException클라이언트 연결을 처리하는 동안 처리되지 않은 예외가 발생할 때마다 발생합니다.
OnUnknownProtocol첫 번째 메시지가 알려진 프로토콜과 일치하지 않을 때 발생하여 연결을 수락하거나 거부할 수 있습니다.
OnUnknownAuthentication인증이 활성화되어 있고 인증 방법이 서버에서 인식되지 않을 때 발생합니다.

Data

Name설명
OnMessage클라이언트가 텍스트 메시지를 보내고 서버가 이를 수신할 때마다 발생합니다.
OnBinary클라이언트가 바이너리 메시지를 보내고 서버가 이를 수신할 때마다 발생합니다.
OnFragmented메시지의 프래그먼트가 수신될 때 발생합니다(Options.FragmentedMessages가 frgAll 또는 frgOnlyFragmented인 경우에만).

HTTP

Name설명
OnBeforeCommand요청을 선별, 권한 부여하거나 401 응답으로 단락할 수 있도록 OnCommandGet 또는 OnCommandOther 전에 발생합니다.
OnCommandGetHTTP 서버가 GET, POST 또는 HEAD 요청을 수신하여 애플리케이션이 응답을 구축할 수 있을 때 발생합니다.
OnCommandOtherHTTP 서버가 GET, POST 또는 HEAD 이외의 메서드(PUT, DELETE, OPTIONS, PATCH...)를 수신할 때 발생합니다.
OnBeforeForwardHTTPHTTP 요청이 다른 HTTP 서버로 전달(역방향 프록시)될 수 있도록 디스패치되기 전에 발생합니다.
OnAfterForwardHTTP애플리케이션이 결과 또는 업스트림 서버가 반환한 오류를 검사할 수 있도록 HTTP 요청이 전달된 후 발생합니다.
OnHTTP2BeforeAsyncRequest애플리케이션이 HTTP/2 요청이 스레드 풀에서 실행될지 연결 스레드에서 실행될지 선택할 수 있도록 HTTP/2 요청이 큐에 들어가기 전에 발생합니다.

Sessions

Name설명
OnCreateSessionHTTP 서버가 새 세션을 생성해야 할 때 발생하여 애플리케이션이 사용자 정의 TIdHTTPSession 인스턴스를 제공할 수 있습니다.
OnSessionStartHTTP 세션이 시작되어 SessionList에 추가될 때 발생합니다.
OnSessionEndHTTP 세션이 명시적으로 또는 SessionTimeout이 만료된 후 닫힐 때 발생합니다.
OnInvalidSessionHTTP 요청이 알 수 없거나 만료된 세션 ID를 제시할 때 발생하므로 애플리케이션이 어떻게 반응할지 결정할 수 있습니다.

HTTP Upload

Name설명
OnHTTPUploadBeforeSaveFile이름과 경로를 사용자 정의할 수 있도록, multipart/form-data 업로드에서 추출된 파일이 디스크에 저장되기 전에 발생합니다.
OnHTTPUploadAfterSaveFilemultipart/form-data 업로드에서 추출된 파일이 디스크에 저장된 후 발생합니다.
OnHTTPUploadReadInputmultipart/form-data 디코더가 파일이 아닌 입력 필드를 읽을 때 발생하여 그 값을 캡처할 수 있습니다.
OnHTTPUploadBeforeCreatePostStream요청 헤더가 읽힌 후, POST 스트림이 생성되기 전에 발생하므로 업로드를 수락하거나 거부할 수 있습니다.

안정성

Name설명
OnBeforeHeartBeat애플리케이션이 사용자 지정 keep-alive를 구현할 수 있도록 각 HeartBeat ping 전에 발생합니다.
OnLoadBalancerConnect서버가 Load Balancer 서버에 연결될 때 발생합니다.
OnLoadBalancerDisconnect서버가 Load Balancer Server에서 연결을 끊을 때 발생합니다.
OnLoadBalancerErrorLoad Balancer Server와 통신하는 동안 오류가 발생할 때 발생합니다.

Security

Name설명
OnAuthentication인증이 활성화되어 애플리케이션이 사용자와 비밀번호를 확인하고 연결을 수락하거나 거부할 수 있을 때 발생합니다.
OnSSLGetHandler사용자 정의 서버 측 핸들러 인스턴스를 제공할 수 있도록 SSL 핸들러가 생성되기 전에 발생합니다.
OnSSLAfterCreateHandlerSSL 핸들러가 생성된 후 해당 속성을 사용자 지정할 수 있도록 발생합니다.
OnSSLALPNSelectALPN이 활성화된 핸드셰이크 중에 발생하여 애플리케이션이 협상할 프로토콜을 선택할 수 있도록 합니다.
OnSSLVerifyPeerVerifyCertificate가 활성화되어 있고 클라이언트가 수락 또는 거부할 인증서를 제시할 때 발생합니다.

모든 이벤트 (알파벳순)

Name설명
OnAfterForwardHTTP애플리케이션이 결과 또는 업스트림 서버가 반환한 오류를 검사할 수 있도록 HTTP 요청이 전달된 후 발생합니다.
OnAuthentication인증이 활성화되어 애플리케이션이 사용자와 비밀번호를 확인하고 연결을 수락하거나 거부할 수 있을 때 발생합니다.
OnBeforeCommand요청을 선별, 권한 부여하거나 401 응답으로 단락할 수 있도록 OnCommandGet 또는 OnCommandOther 전에 발생합니다.
OnBeforeForwardHTTPHTTP 요청이 다른 HTTP 서버로 전달(역방향 프록시)될 수 있도록 디스패치되기 전에 발생합니다.
OnBeforeHeartBeat애플리케이션이 사용자 지정 keep-alive를 구현할 수 있도록 각 HeartBeat ping 전에 발생합니다.
OnBinary클라이언트가 바이너리 메시지를 보내고 서버가 이를 수신할 때마다 발생합니다.
OnCommandGetHTTP 서버가 GET, POST 또는 HEAD 요청을 수신하여 애플리케이션이 응답을 구축할 수 있을 때 발생합니다.
OnCommandOtherHTTP 서버가 GET, POST 또는 HEAD 이외의 메서드(PUT, DELETE, OPTIONS, PATCH...)를 수신할 때 발생합니다.
OnConnect클라이언트와 WebSocket 연결이 설정될 때마다 발생합니다.
OnCreateSessionHTTP 서버가 새 세션을 생성해야 할 때 발생하여 애플리케이션이 사용자 정의 TIdHTTPSession 인스턴스를 제공할 수 있습니다.
OnDisconnect클라이언트와의 WebSocket 연결이 끊어질 때마다 발생합니다.
OnError잘못된 형식의 핸드셰이크와 같은 WebSocket 프로토콜 오류가 발생할 때마다 발생합니다.
OnException클라이언트 연결을 처리하는 동안 처리되지 않은 예외가 발생할 때마다 발생합니다.
OnFragmented메시지의 프래그먼트가 수신될 때 발생합니다(Options.FragmentedMessages가 frgAll 또는 frgOnlyFragmented인 경우에만).
OnHandshake서버 측에서 핸드셰이크가 평가된 후 응답이 전송되기 전에 발생합니다.
OnHTTP2BeforeAsyncRequest애플리케이션이 HTTP/2 요청이 스레드 풀에서 실행될지 연결 스레드에서 실행될지 선택할 수 있도록 HTTP/2 요청이 큐에 들어가기 전에 발생합니다.
OnHTTPUploadAfterSaveFilemultipart/form-data 업로드에서 추출된 파일이 디스크에 저장된 후 발생합니다.
OnHTTPUploadBeforeCreatePostStream요청 헤더가 읽힌 후, POST 스트림이 생성되기 전에 발생하므로 업로드를 수락하거나 거부할 수 있습니다.
OnHTTPUploadBeforeSaveFile이름과 경로를 사용자 정의할 수 있도록, multipart/form-data 업로드에서 추출된 파일이 디스크에 저장되기 전에 발생합니다.
OnHTTPUploadReadInputmultipart/form-data 디코더가 파일이 아닌 입력 필드를 읽을 때 발생하여 그 값을 캡처할 수 있습니다.
OnInvalidSessionHTTP 요청이 알 수 없거나 만료된 세션 ID를 제시할 때 발생하므로 애플리케이션이 어떻게 반응할지 결정할 수 있습니다.
OnLoadBalancerConnect서버가 Load Balancer 서버에 연결될 때 발생합니다.
OnLoadBalancerDisconnect서버가 Load Balancer Server에서 연결을 끊을 때 발생합니다.
OnLoadBalancerErrorLoad Balancer Server와 통신하는 동안 오류가 발생할 때 발생합니다.
OnMessage클라이언트가 텍스트 메시지를 보내고 서버가 이를 수신할 때마다 발생합니다.
OnSessionEndHTTP 세션이 명시적으로 또는 SessionTimeout이 만료된 후 닫힐 때 발생합니다.
OnSessionStartHTTP 세션이 시작되어 SessionList에 추가될 때 발생합니다.
OnShutdown서버가 중지되고 더 이상 연결을 수락하지 않은 후에 발생합니다.
OnSSLAfterCreateHandlerSSL 핸들러가 생성된 후 해당 속성을 사용자 지정할 수 있도록 발생합니다.
OnSSLALPNSelectALPN이 활성화된 핸드셰이크 중에 발생하여 애플리케이션이 협상할 프로토콜을 선택할 수 있도록 합니다.
OnSSLGetHandler사용자 정의 서버 측 핸들러 인스턴스를 제공할 수 있도록 SSL 핸들러가 생성되기 전에 발생합니다.
OnSSLVerifyPeerVerifyCertificate가 활성화되어 있고 클라이언트가 수락 또는 거부할 인증서를 제시할 때 발생합니다.
OnStartup서버가 시작되어 연결을 수락할 준비가 된 후에 발생합니다.
OnTCPConnect클라이언트가 TCP 수준에서 연결된 후 WebSocket 핸드셰이크 전에 발생하므로, 연결을 수락하거나 거부할 수 있습니다.
OnUnknownAuthentication인증이 활성화되어 있고 인증 방법이 서버에서 인식되지 않을 때 발생합니다.
OnUnknownProtocol첫 번째 메시지가 알려진 프로토콜과 일치하지 않을 때 발생하여 연결을 수락하거나 거부할 수 있습니다.