//  ========================================================================
//  Copyright (c) 1995-2017 Mort Bay Consulting Pty. Ltd.
//  ========================================================================
//  All rights reserved. This program and the accompanying materials
//  are made available under the terms of the Eclipse Public License v1.0
//  and Apache License v2.0 which accompanies this distribution.
//
//      The Eclipse Public License is available at
//      http://www.eclipse.org/legal/epl-v10.html
//
//      The Apache License v2.0 is available at
//      http://www.opensource.org/licenses/apache2.0.php
//
//  You may elect to redistribute this code under either of these licenses.
//  ========================================================================

[[cgi-servlet]]
=== CGI Servlet

[[cgi-servlet-metadata]]
==== Info

* Classname: `org.eclipse.jetty.servlets.CGI`
* Maven Artifact: org.eclipse.jetty:jetty-servlets
* Javadoc: {JDURL}/org/eclipse/jetty/servlets/CGI.html
* Xref: {JXURL}/org/eclipse/jetty/servlets/CGI.html

[[cgi-servlet-usage]]
==== Usage

The CGI servlet class extends the abstract HttpServlet class.
When the init parameter is called, the cgi bin directory is set with the `cgibinResourceBase`.
Otherwise, it defaults to the resource base of the context.

The cgi bin uses three parameters:

commandPrefix::
The init parameter obtained when there is a prefix set to all commands directed to the method exec.
Path::
An init parameter passed to the exec environment as a PATH.
This must be run unpacked somewhere in the filesystem.
ENV_::
An init parameter that points to an environment variable with the name stripped of the leading ENV_ and using the init parameter value.
