Home · Modules · Classes · Namespaces · Functions

QxtWebCgiService Class Reference
[QxtWeb module]

The QxtWebCgiService class provides a CGI/1.1 gateway for QxtWeb More...

    #include <QxtWebCgiService>

Inherits QxtAbstractWebService.

Public Functions

Additional Inherited Members


Detailed Description

The QxtWebCgiService class provides a CGI/1.1 gateway for QxtWeb

TODO: write docs TODO: implement timeout


Member Function Documentation

QxtWebCgiService::QxtWebCgiService ( const QString & binary, QxtAbstractWebSessionManager * manager, QObject * parent = 0 )

Constructs a QxtWebCgiService object with the specified session manager and parent. This service will invoke the specified binary to handle incoming requests.

Often, the session manager will also be the parent, but this is not a requirement.

QString QxtWebCgiService::binary () const

Returns the path to the CGI script that will be executed to handle requests.

See also setBinary().

void QxtWebCgiService::setBinary ( const QString & bin )

Sets the path to the CGI script bin that will be executed to handle requests.

See also binary().

void QxtWebCgiService::setTimeout ( int time )

Sets the maximum time a CGI script may execute, in milliseconds.

The timer is started when the script is launched. After the timeout elapses once, the script will be asked to stop, as QProcess::terminate(). (That is, the script will receive WM_CLOSE on Windows or SIGTERM on UNIX.) If the process has still failed to terminate after another timeout, it will be forcibly terminated, as QProcess::kill(). (That is, the script will receive TerminateProcess on Windows or SIGKILL on UNIX.)

Set the timeout to 0 to disable this behavior; scripts will not be terminated due to excessive run time. This is the default behavior.

CAUTION: Keep in mind that the timeout applies to the real running time of the script, not processor time used. A script that initiates a lengthy download may be interrupted while transferring data to the web browser. To avoid this behavior, see the timeoutOverride property to allow the script to request an extended timeout, or use a different QxtAbstractWebService object for serving streaming content or large files.

See also timeout(), timeoutOverride(), setTimeoutOverride(), QProcess::terminate(), and QProcess::kill().

void QxtWebCgiService::setTimeoutOverride ( bool enable )

Sets whether or not to allow scripts to override the timeout. Scripts are allowed to override if enable is true.

As an extension to the CGI/1.1 gateway specification, a CGI script may output a "X-QxtWeb-Timeout" header to change the termination timeout on a per-script basis. Only enable this option if you trust the scripts being executed.

See also timeoutOverride() and setTimeout().

int QxtWebCgiService::timeout () const

Returns the maximum time a CGI script may execute, in milliseconds.

The default value is 0, which indicates that CGI scripts will not be terminated due to long running times.

See also setTimeout().

bool QxtWebCgiService::timeoutOverride () const

Returns whether or not to allow scripts to override the timeout.

See also setTimeoutOverride() and setTimeout().


Copyright © 2007-2010 Qxt Foundation
Qxt 0.6.1