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値であるかどうかを戻す。