6.55. kink/http/RESP_CONTENT

6.55.1. resp_content型

resp_contentは、HTTPレスポンスの本体である。

resp_contentは、次の属性を持つ。

• input: レスポンスの本体のバイト列を読み取るinput値。

• media_type: レスポンスの本体のmedia_type値。

• bin (オプショナル): レスポンスの本体のバイト列であるbin値。この属性が与えられる場合、そのバイト列はinput属性から読み取られるものと同じでなければならない。

6.55.1.1. Rsc.input

inputメソッドは、input属性を戻す。

6.55.1.2. Rsc.media_type

media_typeメソッドは、media_type属性を戻す。

6.55.1.3. Rsc.have_bin?

have_bin?は、Rscがbin属性を持っているかどうかを戻す。

6.55.1.4. Rsc.bin

binメソッドは、bin属性を戻す。

事前条件

Rscは、bin属性を持っていなければならない。

6.55.1.5. Rsc.text

textメソッドは、レスポンスの本体をstr値として戻す。

本体は、 `Rsc.media_type.charset` でデコードされる。変換エラーが会ったら、代替文字に置き換えられる。

事前条件

Rscは、bin属性を持っていなければならない。

6.55.1.6. Rsc.close(...[$config={}])

closeメソッドは、input属性を閉じる。

コンフィグメソッド:

• C.on_success($success): default = {}

• C.on_error($error): default = {(:Exc) Exc.raise }

inputが成功裏に閉じられた場合、closeは引数なしで$successを末尾呼び出しする。

IOエラーが起きた場合、closeは、exceptionを引数として$errorを末尾呼び出しする。

事前条件

$successはサンクでなければならない。

$errorは、exceptionを取る関数でなければならない。

6.55.2. RESP_CONTENT.from_bin(Bin Mt)

from_binは、バイト列がbin値として与えられるようなresp_contentを戻す。

結果のresp_contentの属性は、(input=Bin_input, media_type=Mt, bin=Bin)になる。ここでBin_inputは、Binのバイト列を読み取るinput値である。

結果のresp_contentは閉じる必要がない。

事前条件

Binはbin値でなければならない。

Mtはmedia_type値でなければならない。

6.55.3. RESP_CONTENT.from_input(In Mt)

from_inputは、input値からresp_contentを作って戻す。

結果のresp_contentの属性は、(input=In, media_type=Mt)になる。

結果のresp_contentは閉じなければならない。

事前条件

Inはinput値でなければならない。

Mtはmedia_type値でなければならない。

6.55.4. RESP_CONTENT.is?(Val)

is?は、Valがresp_content値であるかどうかを戻す。