Provided by: aolserver4-dev_4.5.1-16_amd64 bug


       ns_adp_ctl - ADP control command


       ns_adp_ctl bufsize ?size?
       ns_adp_ctl chan channel
       ns_adp_ctl autoabort ?bool?
       ns_adp_ctl detailerror ?bool?
       ns_adp_ctl displayerror ?bool?
       ns_adp_ctl expire ?bool?
       ns_adp_ctl gzip ?bool?
       ns_adp_ctl nocache ?bool?
       ns_adp_ctl safe ?bool?
       ns_adp_ctl singlescript ?bool?
       ns_adp_ctl stricterror ?bool?
       ns_adp_ctl trace ?bool?
       ns_adp_ctl trimspace ?bool?


       This  command  enables  control  of the current ADP execution environment.  Aside from the
       bufsize and chan subcommands, they all return a boolean value for a given ADP option.   If
       the bool argument is given, the option is set to the given value and the previous value is

       ns_adp_ctl bufsize ?size?
              This command returns the currently ADP output buffer size,  setting  it  to  a  new
              value if the optionial size argument is specified.

       ns_adp_ctl chan channel
              This  command  is  used  to specify an open file channel to receive output when the
              buffer is flushed. If channel is the null string, the output  channel  is  cleared.
              This capability can be useful for specialized uses of ADP outside the context of an
              HTTP connection, e.g., for debugging or testing.

       ns_adp_ctl autoabort ?bool?
              Query or set the autoabort  option.   When  enabled,  failure  to  flush  a  buffer
              (normally  the  result  of  a  closed  HTTP connection) generates an ADP exception,
              unwinding the ADP call stack.

       ns_adp_ctl detailerror ?bool?
              Query or set the detailerror  option.   When  enabled,  errors  in  ADP  pages  are
              formatted with information about the context of the HTTP request.  This can be very
              helpful in debugging ADP errors but potentially a security risk if the HTTP context
              (e.g.,  cookie  headers) contains personal or sensitive data.  Errors are logged to
              the server log and, if displayerror is enabled, appened to the output buffer.

       ns_adp_ctl displayerror ?bool?
              Query or set the displayerror option.   When  enabled,  errors  in  ADP  pages  are
              formatted and appended to the output stream, normally visiable to a user's browser.
              This option should generally be enabled in development and disabled in production.

       ns_adp_ctl expire ?bool?
              Query or set the expire option.  When enabled, the ADP request processing code adds
              an  "Expires:  now"  header  in  the  response  buffer  to disable any caching.  In
              practice, more thoughtful cache control mechanisms should  be  used  based  on  the
              HTTP/1.1 spec.

       ns_adp_ctl gzip ?bool?
              Query or set the gzip option.  When enabled, the output buffer is compressed before
              being returned in the response.  As ADP's are generally used to generate text  data
              such  as  HTML  or  XML,  compression  is normally quite successful at reducing the
              response size.

       ns_adp_ctl nocache ?bool?
              Query or set the nocache option.  When enabled, all requests to cache executed  ADP
              blocks  via  the  ns_adp_include  -cache directive are ignored, resulting in normal
              execution of all code.

       ns_adp_ctl safe ?bool?
              Query or set the safe option. When enabled, all code is executed  in  "safe"  mode,
              disabling and ignoring any code within <% registered tags.

       ns_adp_ctl singlescript ?bool?
              Query  or  set the singlescript option.  When enabled, ADP pages are converted from
              independent text-script blocks into a single script,  which  text  blocks  replaced
              with  a  call to ns_adp_append with the given text.  Functionally the output is the
              same however an error anywhere on the page will  result  in  the  entire  ADP  page
              returning  instead  of  skipping to the next block which is the normal behavior. In
              practice, singlescript is useful in development  while  in  production  leaving  it
              disabled  provides a more defensive execution environment where minor errors in one
              ADP do not inhibit execution of the overall page.

       ns_adp_ctl stricterror ?bool?
              Query or set the stricterror option.  When enabled, the result is similar  to  that
              of  singlescript in that an error in a particular block will return the entire page
              instead of continuing to the next text or script block.

       ns_adp_ctl trace ?bool?
              Query or set the trace option which currently does nothing.

       ns_adp_ctl trimspace ?bool?
              Query or set the trimspace option.  When enabled, any white space at the  start  of
              the output buffer is eliminated.  White space can show up in the output as a result
              of ADP pages which do nothing but include other ADP's in a way to reuse  code  with
              the  unfortunate  side  effect  of  the  training  newline  at  the  end  of  a "<%
              ns_adp_include myfile.adp %>" ending up in the output stream.


       ns_adp(n), ns_adp_flush(n), ns_adp_close(n), ns_adp_mimetype(n)


       ADP, dynamic pages, buffer