Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
Web サービスによる HTTP 応答ヘッダの設定を許可します。
sa_set_http_header( fldname , val )
fldname HTTP ヘッダフィールドのいずれかの名前を含む文字列を指定する CHAR(128) パラメータ。
val 指定されたパラメータに設定する値を指定する LONG VARCHAR パラメータ。応答ヘッダを NULL に設定すると、そのヘッダは事実上削除されます。
特別なヘッダフィールド @HttpStatus を設定すると、要求によってステータスコードが返されるように設定されます。ステータスコードは応答コードとも呼ばれます。たとえば、次のスクリプトはステータスコードを 404 Not Found に設定します。
CALL sa_set_http_header( '@HttpStatus', '404' );
3 桁のステータスコードを指定し、コロンで区切ったテキストメッセージを任意で追加することで、ユーザ定義のステータスメッセージを作成できます。たとえば、次のスクリプトは、メッセージ付きのステータスコード "999 User Code" を出力します。
CALL sa_set_http_header( '@HttpStatus', '999:User Code' );
LogOptions プロトコルオプションを使用してログに記録している場合、ユーザ定義のステータステキストメッセージはデータベースの文字セットには変換されません。
エラーメッセージの本文は、自動的に挿入されます。有効な HTTP エラーコードだけが使用できます。ステータスに無効なコードを設定すると、SQL エラーが発生します。
sa_set_http_header プロシージャは、呼び出されたときに、ヘッダフィールドの既存のヘッダ値を必ず上書きします。
データベースサーバによって自動的に生成された応答ヘッダは削除できます。たとえば、次のコマンドは Expires 応答ヘッダを削除します。
CALL sa_set_http_header( 'Expires', NULL );
なし。
次の例は、Content-Type ヘッダフィールドを text/html に設定します。
CALL sa_set_http_header( 'Content-Type', 'text/html' );