Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Mojo::Server(3)	      User Contributed Perl Documentation      Mojo::Server(3)

NAME
       Mojo::Server - HTTP/WebSocket server base class

SYNOPSIS
	 package Mojo::Server::MyServer;
	 use Mojo::Base	'Mojo::Server',	-signatures;

	 sub run ($self) {

	   # Get a transaction
	   my $tx = $self->build_tx;

	   # Emit "request" event
	   $self->emit(request => $tx);
	 }

DESCRIPTION
       Mojo::Server is an abstract base	class for HTTP/WebSocket servers and
       server interfaces, like Mojo::Server::CGI, Mojo::Server::Daemon,
       Mojo::Server::Hypnotoad,	Mojo::Server::Morbo, Mojo::Server::Prefork and
       Mojo::Server::PSGI.

EVENTS
       Mojo::Server inherits all events	from Mojo::EventEmitter	and can	emit
       the following new ones.

   request
	 $server->on(request =>	sub ($server, $tx) {...});

       Emitted when a request is ready and needs to be handled.

	 $server->on(request =>	sub ($server, $tx) {
	   $tx->res->code(200);
	   $tx->res->headers->content_type('text/plain');
	   $tx->res->body('Hello World!');
	   $tx->resume;
	 });

ATTRIBUTES
       Mojo::Server implements the following attributes.

   app
	 my $app = $server->app;
	 $server = $server->app(MojoSubclass->new);

       Application this	server handles,	defaults to a Mojo::HelloWorld object.

   reverse_proxy
	 my $bool = $server->reverse_proxy;
	 $server  = $server->reverse_proxy($bool);

       This server operates behind a reverse proxy, defaults to	the value of
       the "MOJO_REVERSE_PROXY"	environment variable.

METHODS
       Mojo::Server inherits all methods from Mojo::EventEmitter and
       implements the following	new ones.

   build_app
	 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});

       Build application from class and	assign it to "app".

   build_tx
	 my $tx	= $server->build_tx;

       Let application build a transaction.

   daemonize
	 $server->daemonize;

       Daemonize server	process.

   load_app
	 my $app = $server->load_app('/home/sri/myapp.pl');

       Load application	from script and	assign it to "app".

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

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

       Construct a new Mojo::Server object and subscribe to "request" event
       with default request handling.

   run
	 $server->run;

       Run server. Meant to be overloaded in a subclass.

SEE ALSO
       Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.

perl v5.32.0			  2020-08-10		       Mojo::Server(3)

NAME | SYNOPSIS | DESCRIPTION | EVENTS | ATTRIBUTES | METHODS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Mojo::Server&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help