Mojo::Content-HTTP内容基类
软件包Mojo::Content::MyContent;使用Mojo::Base“Mojo::Content”;子体_包含{…}子体_大小{…}子get_body_chunk{…}
Mojo::内容是HTTP内容容器的抽象基类,基于副本请求7230和副本请求7231,比如Mojo::Content::MultiPart和Mojo::内容::单个.
Mojo::内容从继承所有事件Mojo::EventEmitter并且可以发射出以下新的气体。
$content->on(body=>sub($content){…});
解析完所有标头并启动正文后发出。
$content->on(body=>sub($content)){$content->auto_upgrade(0)if$content->headers->header('X-No-MultiPart');});
$content->on(drain=>sub($content,$offset){…});
写入所有数据后立即发出。
$content->on(drain=>sub($content){$content->write_chunk(时间);});
$content->on(读=>sub($content,$bytes){…});
当新的内容块到达时发出。
$content->on(读取=>sub($content,$bytes){说“流媒体:$bytes”;});
Mojo::内容实现以下属性。
my$bool=$content->auto_decompress;$content=$content->auto_decompress($bool);
如果出现以下情况,则自动解压缩内容“已压缩”是真的。
我的$bool=$content->auto_relax;$content=$content->auto_relax($bool);
尝试检测何时需要轻松解析。
我的$headers=$content->headers;$content=$content->headers(Mojo::headers->new);
内容标题,默认为Mojo::标题对象。
我的$size=$content->max_buffer_size;$content=$content->max_buffer_size(1024);
内容解析器缓冲区的最大字节数,默认为MOJO_MAX_BUFFER尺寸
环境变量或262144
(256KiB)。
我的$size=$content->max_leftover_size;$content=$content->max_leftover_size(1024);
流水线HTTP请求的最大缓冲区大小(字节),默认为MOJO_MAX_LEFTOVER_SIZE(MOJO_MAX_LEFTOVER_SIZE)
环境变量或262144
(256KiB)。
我的$bool=$content->放松;$content=$content->放松($bool);
为连接关闭时终止的响应激活轻松解析。
my$bool=$content->skip_body;$content=$content->skip_body($bool);
跳过正文分析并在标头之后完成。
Mojo::内容从继承所有方法Mojo::EventEmitter并实现了以下新功能。
my$bool=$content->body_contains('foo bar baz');
检查内容是否包含特定字符串。意在在子类中重载。
my$size=$content->body_size;
内容大小(以字节为单位)。意思是在子类中重载。
我的$boundary=$content->boundary;
从中提取多部分边界内容类型
收割台。
我的$charset=$content->charset;
从中提取字符集内容类型
收割台。
my$clone=$content->克隆;
返回新的Mojo::内容如果可能,从该内容克隆对象,否则返回未定义
.
my$bytes=$content->generate_body_chunk(0);
生成动态内容。
my$bytes=$content->get_body_chunk(0);
从特定位置开始获取大块内容。意思是在子类中重载。
my$bytes=$content->getheader_chunk(13);
从特定位置开始获取标题块。请注意,此方法将完成内容。
my$size=$content->header_size;
标头的大小(以字节为单位)。请注意,此方法将完成内容。
my$bool=$content->headers_contain('foo bar baz');
检查标头是否包含特定字符串。请注意,此方法将完成内容。
我的$bool=$content->is_chunked;
检查是否传输编码
标头表示分块传输编码。
我的$bool=$content->is_compressed;
检查内容编码
标题,用于gzip公司
值。
我的$bool=$content->is_dynamic;
检查内容是否将动态生成,这将防止“克隆”从工作中解脱出来。
我的$bool=$content->is_finished;
检查解析器是否完成。
我的$bool=$content->is_limit_exceeded;
检查是否超过缓冲区“最大缓冲区大小”.
我的$bool=$content->is_multipart;
错,这不是Mojo::Content::MultiPart对象。
我的$bool=$content->is_parsing_body;
检查正文分析是否已开始。
my$bytes=$content->剩余项;
从内容解析器获取剩余数据。
$内容=$content->parse(“内容长度:12\x0d\x0a\x0d\x0aHello World!”);
分析内容块。
$content=$content->parse_body('Hi!');
分析正文块并跳过标题。
我的$size=$content->progress;
已从消息接收的内容大小(字节)。
$content=$content->write;$content=$content->write(“”);$content=$content->write($bytes);$content=$content->write($bytes=>sub{…});
非阻塞写入动态内容,写入所有数据后将执行可选的drain回调。在没有数据块的情况下调用此方法将完成“标题”并允许稍后写入动态内容。您可以随时写入空数据块以结束流。
#继续之前,请确保已写入上一块数据$content->写('He'=>子($content){$content->write('llo!'=>sub($content){$content->write(“”);});});
$content=$content->write_chunk;$content=$content->write_chunk(“”);$content=$content->write_chunk($bytes);$content=$content->write_chunk($bytes=>sub{…});
使用分块传输编码非阻塞地写入动态内容,写入所有数据后将执行可选的排出回调。在没有数据块的情况下调用此方法将完成“标题”并且允许稍后写入动态内容。您可以随时写入空数据块以结束流。
#继续之前,请确保已写入上一块数据$content->write_chunk('He'=>sub($content){$content->write_chunk('llo!'=>sub($content){$content->write_chunk(“”);});});
Mojolicious公司,Mojolicious::指南,https://mojolicious.org.