TsgcWebSocketServer_HTTPAPI | テキスト応答の送信
HTTP リクエストを処理するには OnHTTPRequest イベントを使用します。
クラスTHttpServerRequestにはHTTPリクエストデータが含まれています。
- Document: ピアがアクセスしようとしているドキュメント。
- Method: HTTP メソッド('GET'、'POST' など)。
- Headers: HTTP リクエストのヘッダー。
- AcceptEncoding: accept encoding変数。例: "gzip, deflate, br"。
- ContentType: 例: "text/html"
- Content: 存在する場合のリクエストの内容。
- QueryParams: クエリパラメータ。
- Cookies: Cookie が存在する場合の Cookie。
- ContentLength: コンテンツのサイズ。
- AuthExists、AuthUsername、AuthPassword: 認証リクエストデータ。
- Stream: HTTP リクエストにボディがある場合、これはボディのストリームです。
クラス THttpServerResponse は HTTP レスポンスデータを含みます。
- ContentText: テキストとしての応答です。
- ContentType: 例:「text/html」。ContentText を UTF8 でエンコードする場合は charset='utf-8' を設定します。例:text/html; charset=utf-8
- CustomHeaders: 独自のヘッダーを送信する必要がある場合は、この変数を使用してください。
- AuthRealm: サーバーが認証を必要とする場合は、この変数を設定してください。
- ResponseNo: HTTPレスポンス番号。例: 200 はレスポンスが成功したことを意味します。
- ContentStream: レスポンスにストリームが含まれている場合は、ここに設定します(ストリームを解放しないでください。自動的に解放されます)。
- FileName: 応答がファイル名の場合、ここにファイル名の完全パスを設定します。
- Date, Expires, LastModified: レスポンスの日時変数。
- CacheControl: キャッシュ動作のカスタマイズを可能にします。
例: サーバーがドキュメント「/test.html」のGETリクエストを受信した場合は、OKレスポンスを送信します。そうでない場合、別のドキュメントのGETリクエストであれば404を、別のメソッドであればエラー500を送信します。
procedure OnHTTPRequest(aConnection: TsgcWSConnection_HTTPAPI;
const aRequestInfo: THttpServerRequest;
var aResponseInfo: THttpServerResponse);
begin
if aRequestInfo.Method = 'GET' then
begin
if aRequestInfo.Document = '/test.html' then
begin
aResponseInfo.ResponseNo := 200;
aResponseInfo.ContentText := 'OK';
aResponseInfo.ContentType := 'text/html; charset=UTF-8';
end
else
aResponseInfo.ResponseNo := 404;
end
else
aResponseInfo.ResponseNo := 500;
end;