find-and-execute-curl-file-attributes (プロシージャ)
public {find-and-execute-curl-file-attributes
text-stream:TextInputStream
}:(done-finding?:bool)
パッケージ: CURL.LANGUAGE.COMPILER

ストリームの最初で curl-file-attributes の Curl ブラケット内の式を検索し、見つかった場合は text-stream 内の設定を curl-file-attributes の内容に基づいて変更します。

text-stream: curl-file-attributes の Curl ブラケット内の式を検索するためにスキャンされる TextInputStream です。text-stream は、ここではまだ読み込まれません。そうでないとエラーがスローされます。

注意事項

現在、text-streamTranscodingTextInputStream の場合のみに動作します。text-stream が他の型の場合は、復帰するだけです。現在、character-encoding のみを curl-file-attributes 内の意味のあるパラメータとして処理します。その他のパラメータは無視されます。

戻り値

bool を返して、curl-file-attributes の検索が終了したかどうかを示します。検索の終了は、curl-file-attributes の Curl ブラケット内の式を見つけたか、または Curl ヘラルド以外の Curl 式を見つけたかで判断します。

false が返された場合は、ストリームはまだ TranscodingTextInputStream.save-bytes-for-character-encoding-reset? モードです。ストリームにデータが追加されれば find-and-execute-curl-file-attributes は再度呼び出し可能です。また TranscodingTextInputStream.save-bytes-for-character-encoding-reset?false に設定して、この特殊モードでこれ以上使用しないことを示します。

例外のスロー

SyntaxError
curl-file-attributes の Curl ブラケット式が正しく構成されていない場合に発生します。
SyntaxError がスローされた場合は、text-stream がオリジナルのエンコーディングでリセットされます。

let tis:TextInputStream = {read-open curl-source-url}
{try
    {find-and-execute-curl-file-attributes tis}
        ... read in file ...
 finally
    {tis.close}
}

注意事項

構文解析は find-curl-file-attributes によって実行されます。