---
name: "Mojo::Server::CGI"
section: "3pm"
platform: "linux"
package: "libmojolicious-perl"
version: "9.39+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Mojo::Server::CGI"
---

# Mojo::Server::CGI(3pm)

CGI server

## NAME

Mojo::Server::CGI - CGI server

## SYNOPSIS

```
  use Mojo::Server::CGI;
  my $cgi = Mojo::Server::CGI->new;
  $cgi->unsubscribe('request')->on(request => sub ($cgi, $tx) {
    # Request
    my $method = $tx->req->method;
    my $path   = $tx->req->url->path;
    # Response
    $tx->res->code(200);
    $tx->res->headers->content_type('text/plain');
    $tx->res->body("$method request for $path!");
    # Resume transaction
    $tx->resume;
  });
  $cgi->run;
```

## DESCRIPTION

Mojo::Server::CGI is a simple and portable implementation of RFC 3875 \<https://tools.ietf.org/html/rfc3875\>.

See "DEPLOYMENT" in Mojolicious::Guides::Cookbook for more.

## EVENTS

Mojo::Server::CGI inherits all events from Mojo::Server.

## ATTRIBUTES

Mojo::Server::CGI inherits all attributes from Mojo::Server and implements the following new ones.

### nph

```
  my $bool = $cgi->nph;
  $cgi     = $cgi->nph($bool);
```

Activate non-parsed header mode.

## METHODS

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

### run

```
  my $status = $cgi->run;
```

Run CGI.

## SEE ALSO

Mojolicious, Mojolicious::Guides, \<https://mojolicious.org\>.
