名称

Mojo::Server-HTTP/WebSocket服务器基类

简介

软件包Mojo::Server::MyServer;使用Mojo::Base“Mojo::Server”,-签名;子运行($self){#获取交易我的$tx=$self->build_tx;#发出“请求”事件$self->emit(请求=>$tx);}

描述

Mojo::服务器是HTTP/WebSocket服务器和服务器接口的抽象基类,如Mojo::服务器::CGI,Mojo::服务器::守护进程,Mojo::服务器::催眠器,Mojo::服务器::Morbo,Mojo::服务器::PreforkMojo::服务器::PSGI.

活动

Mojo::服务器从继承所有事件Mojo::EventEmitter并且可以发射出以下新的气体。

请求

$server->on(请求=>sub($server,$tx){…});

当请求准备好并需要处理时发出。

$server->打开(请求=>sub($server,$tx){$tx->res->code(200);$tx->res->headers->content_type('text/plain');$tx->res->body(“你好,世界!”);$tx->简历;});

属性

Mojo::服务器实现以下属性。

应用程序

我的$app=$server->app;$server=$server->app(MojoSubclass->new);

此服务器处理的应用程序,默认为Mojo::HelloWorld(你好世界)对象。

反向代理

我的$bool=$server->reverse_proxy;$server=$server->reverse_proxy($bool);

此服务器在反向代理后运行,默认为MOJO_REVERSE_PROXY公司环境变量或true,如果“受信任的代理”不为空。

受信任的代理

我的$proxys=$server->trusted_proxys;$server=$server->trusted_proxys([“10.0.0.0/8”,“127.0.0.1”,“172.16.0.0/12”,‘192.168.0.0/16’,‘fc00::/7’]);

此服务器预期来自受信任的反向代理的请求,默认为MOJO_受信任_代理环境变量以逗号分隔,并带有可选的空格。这些代理应该是CIDR形式的地址或网络。

方法

Mojo::服务器从继承所有方法Mojo::EventEmitter并实现了以下新功能。

构建应用程序

my$app=$server->build_app(“MyApp”);my$app=$server->build_app('MyApp',log=>Mojo::log->new);my$app=$server->build_app('MyApp',{log=>Mojo::log->new});

从类生成应用程序并将其分配给“应用程序”.

构建_tx

我的$tx=$server->build_tx;

让应用程序构建事务。

守护进程

$server->daemonize;

守护服务器进程。

加载应用程序

my$app=$server->load_app('/home/sri/myapp.pl');my$app=$server->load_app('/home/sri/myapp.pl',log=>Mojo::log->new);my$app=$server->load_app('/home/sri/myapp.pl',{log=>Mojo::log->new});

从脚本加载应用程序并将其分配给“应用程序”.

说Mojo::Server->new->load_app('./myapp.pl')->home;

新的

my$server=Mojo::server->new;my$server=Mojo::server->new(reverse_proxy=>1);my$server=Mojo::server->new({reverse_proxy=>1});

构建新的Mojo::服务器对象并订阅“请求”具有默认请求处理的事件。

运行

$server->运行;

运行服务器。意思是在子类中重载。

另请参阅

Mojolicious公司,Mojolicious::指南,https://mojolicio.org网站.