Mojo::Transaction-事务基类
包Mojo::Transaction::MyTransaction;使用Mojo::Base“Mojo::Transaction”;子客户端读取{…}子客户端写入{…}子服务器读取{…}子服务器写入{…}
Mojo::事务是事务的抽象基类,如Mojo::Transaction::HTTP和Mojo::Transaction::WebSocket.
Mojo::事务从继承所有事件Mojo::EventEmitter并且可以发射出以下新的气体。
$tx->打开(连接=>sub($tx,$connection){…});
当连接已分配给事务时发出。
$tx->打开(完成=>sub($tx){…});
事务完成时发出。
Mojo::事务实现以下属性。
我的$bool=$tx->kept_alive;$tx=$tx->kept_alive($bool);
连接已保持活动状态。
我的$地址=$tx->local_address;$tx=$tx->本地地址('127.0.0.1');
本地接口地址。
我的$port=$tx->local_port;$tx=$tx->local_port(8080);
本地接口端口。
我的$地址=$tx->original_remote_address;$tx=$tx->原始远程地址('127.0.0.1');
远程接口地址。
我的$port=$tx->remote_port;$tx=$tx->远程端口(8081);
远程接口端口。
我的$req=$tx->req;$tx=$tx->req(Mojo::消息::请求->新);
HTTP请求,默认为Mojo::消息::请求对象。
#访问请求信息我的$method=$tx->req->方法;我的$url=$tx->req->url->to_abs;我的$info=$tx->req->url->to_abs->userinfo;my$host=$tx->req->url->toabs->host;my$agent=$tx->req->headers->user_agent;my$custom=$tx->req->headers->header(“自定义标题”);my$bytes=$tx->req->body;我的$str=$tx->req->text;my$hash=$tx->req->params->to_hash;我的$all=$tx->req->上传;my$value=$tx->req->json;我的$foo=$tx->req->json('/23/foo');我的$dom=$tx->req->dom;my$bar=$tx->req->dom('div.bar')->first->text;
我的$res=$tx->res;$tx=$tx->res(Mojo::消息::响应->新);
HTTP响应,默认为Mojo::消息::响应对象。
#访问响应信息我的$code=$tx->res->code;我的$message=$tx->res->message;我的$server=$tx->res->headers->server;my$custom=$tx->res->headers->header(“自定义标题”);my$bytes=$tx->res->body;我的$str=$tx->res->text;my$value=$tx->res->json;我的$foo=$tx->res->json('/23/foo');我的$dom=$tx->res->dom;my$bar=$tx->res->dom('div.bar')->first->text;
Mojo::事务从继承所有方法Mojo::EventEmitter并实现了以下新功能。
$tx->client_read($字节);
读取数据客户端,用于实现用户代理,例如Mojo::用户代理。表示在子类中重载。
my$bytes=$tx->client_write;
写入数据客户端,用于实现用户代理,例如Mojo::用户代理。表示在子类中重载。
$tx=$tx->已关闭;
等同于“已完成”,但也指示已发送所有事务数据。
$tx=$tx->已完成;
用于完成事务的低级方法。
我的$id=$tx->连接;$tx=$tx->连接($id);
连接标识符。
我的$err=$tx->错误;
获取请求或响应错误并返回未定义
如果没有错误。
#较长版本我的$err=$tx->req->error | |$tx->res->erro;#检查4x/5xx响应和连接错误if(我的$err=$tx->error){如果$err->{code},则返回“$err->{code{response:$err-+{message}”;die“连接错误:$err->{message}”;}
我的$bool=$tx->is_finished;
检查交易是否完成。
我的$bool=$tx->is_websocket;
错,这不是Mojo::Transaction::WebSocket对象。
我的$地址=$tx->remote_address;$tx=$tx->远程地址('127.0.0.1');
等同于“原始远程地址”除非“需求”已通过Mojo::Message::Request中的“reverse_proxy”。如果是,那么的最后一个值X向前-对于
返回标头。此外,如果Mojo::Message::Request中的“trusted_proxies”也提供了,则原始地址必须是可信的,并且任何X向前-对于
受信任的条目将被忽略,返回最后一个不受信任的地址,如果所有条目都受信任,则返回第一个地址。
我的$res=$tx->结果;
返回Mojo::消息::响应对象来自“资源”或在发生连接错误时死亡。
#细粒度响应处理(死于连接错误)我的$res=$tx->结果;if($res->issuccess){说$res->主体}elsif($res->is_error){说$res->消息}elsif($res->code==301){say$res->headers->location}否则{说“随便…”}
$tx->server_read($字节);
读取数据服务器端,用于实现web服务器,如Mojo::服务器::守护程序。表示在子类中重载。
my$字节=$tx->server_write;
写入数据服务器端,用于实现web服务器,如Mojo::服务器::守护进程。表示在子类中重载。
Mojolicious公司,Mojolicious::指南,https://mojolicious.org.