## org.apache.catalina.util.ssi
Class SsiMediator

    java.lang.Object
      |
      +--org.apache.catalina.util.ssi.SsiMediator

Direct Known Subclasses:
  SsiConfig, SsiEcho, SsiExec, SsiFlastmod, SsiFsize, SsiInclude

public class SsiMediator
extends java.lang.Object

Version:
  $Revision: 1.7.2.1 $, $Date: 2001/10/22 21:38:22 $
Author:
  Bip Thelin, Amy Roh

Field Summary
`protected static java.lang.String` `contextPath` The contextPath for this request
`protected static int` `debug` The debug level for this component
`protected static boolean` `isVirtualWebappRelative` How this request is being treated
`protected static javax.servlet.ServletContext` `origServletContext` The original ServletContext
`protected static java.io.OutputStream` `out` The outputStream to use
`protected static java.lang.String` `path` The path for this request
`protected static java.lang.String` `relpath` The relative path for this request
`protected static javax.servlet.http.HttpServletRequest` `req` The HttpServletResponse associated with this request
`protected static javax.servlet.http.HttpServletResponse` `res` The HttpServletResponse associated with this request.
`protected static java.util.Hashtable` `serverVariables` The Servervariables associated with this request
`protected static javax.servlet.ServletContext` `servletContext` The ServletContext associated with this request
`protected static java.util.Hashtable` `ssiCommands` The Commands associated with SSI.

Constructor Summary
`SsiMediator()`
`SsiMediator(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.io.OutputStream out, javax.servlet.ServletContext servletContext, int debug, java.lang.String path, boolean isVirtualWebappRelative)` Initialize and set up out enviroment, called from SsiInvokerServlet

Method Summary
`void` `flush(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.io.OutputStream out, javax.servlet.ServletContext servletContext, java.lang.String path, boolean isVirtualWebappRelative)` Initialize and set up out enviroment, called from SsiInvokerServlet
`protected void` `flushDate()` Flush the date and make us ready for a new request.
`protected java.lang.String` `getCGIPath(java.lang.String path)`
`SsiCommand` `getCommand(java.lang.String cmd)` Get the SsiCommand
`protected java.lang.String` `getCommandPath(java.lang.String path)`
`byte[]` `getError()` Return the current error message
`protected java.lang.String` `getFilePath(java.lang.String path)` Return a path relative to the file being parsed, if they try to use "../" or have a trailing "/" we return `null` since that is not allowed within a SSI file directive.
`protected java.lang.String` `getServerVariable(java.lang.String serverVar)` Get a server variable
`protected java.lang.String` `getVirtualPath(java.lang.String path)` Return a path relative to either the webapp or the root("/") Example of valid paths: "/test/path/test.file" "..
`protected java.lang.String` `timefmt(java.util.Date date)` Parse a Date according to the current settings.
`protected java.lang.String` `timefmt(java.lang.String date)` Parse a Date according to the current settings.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### serverVariables

    protected static java.util.Hashtable serverVariables

  The Servervariables associated with this request

### ssiCommands

    protected static java.util.Hashtable ssiCommands

  The Commands associated with SSI.

### req

    protected static javax.servlet.http.HttpServletRequest req

  The HttpServletResponse associated with this request

### res

    protected static javax.servlet.http.HttpServletResponse res

  The HttpServletResponse associated with this request.

### out

    protected static java.io.OutputStream out

  The outputStream to use

### servletContext

    protected static javax.servlet.ServletContext servletContext

  The ServletContext associated with this request

### origServletContext

    protected static javax.servlet.ServletContext origServletContext

  The original ServletContext

### contextPath

    protected static java.lang.String contextPath

  The contextPath for this request

### relpath

    protected static java.lang.String relpath

  The relative path for this request

### path

    protected static java.lang.String path

  The path for this request

### debug

    protected static int debug

  The debug level for this component

### isVirtualWebappRelative

    protected static boolean isVirtualWebappRelative

  How this request is being treated

Constructor Detail

### SsiMediator

    public SsiMediator()

### SsiMediator

    public SsiMediator(javax.servlet.http.HttpServletRequest req,
                       javax.servlet.http.HttpServletResponse res,
                       java.io.OutputStream out,
                       javax.servlet.ServletContext servletContext,
                       int debug,
                       java.lang.String path,
                       boolean isVirtualWebappRelative)

  Initialize and set up out enviroment, called from SsiInvokerServlet

Parameters:
  `req` - The HttpServletRequest to use
  `res` - The HttpServletResponse to use
  `out` - The OutputStream to use
  `servletContext` - The ServletContext to use
  `path` - The current path
  `isVirtualWebappRelative` - How this request is being treated

Method Detail

### getCommand

    public final SsiCommand getCommand(java.lang.String cmd)

  Get the SsiCommand

  Parameters:
    `cmd` - The SsiCommand to get
  Returns:
    SsiCommand

### flush

    public void flush(javax.servlet.http.HttpServletRequest req,
                      javax.servlet.http.HttpServletResponse res,
                      java.io.OutputStream out,
                      javax.servlet.ServletContext servletContext,
                      java.lang.String path,
                      boolean isVirtualWebappRelative)

  Initialize and set up out enviroment, called from SsiInvokerServlet

  Parameters:
    `req` - The HttpServletRequest to use
    `res` - The HttpServletResponse to use
    `out` - The OutputStream to use
    `servletContext` - The ServletContext to use
    `path` - The current path
    `isVirtualWebappRelative` - How this request is being treated

### getError

    public byte[] getError()

  Return the current error message

  Returns:
    The current error message

### flushDate

    protected void flushDate()

  Flush the date and make us ready for a new request.

### timefmt

    protected java.lang.String timefmt(java.util.Date date)

  Parse a Date according to the current settings.

  Parameters:
    `date` - The date to parse
  Returns:
    The parsed date

### timefmt

    protected java.lang.String timefmt(java.lang.String date)

  Parse a Date according to the current settings.

  Parameters:
    `date` - The date to parse
  Returns:
    The parsed date

### getServerVariable

    protected java.lang.String getServerVariable(java.lang.String serverVar)

  Get a server variable

  Parameters:
    `serverVar` - The server variable to get
  Returns:
    The parsed result

### getVirtualPath

    protected java.lang.String getVirtualPath(java.lang.String path)

  Return a path relative to either the webapp or the root("/") Example of valid paths: "/test/path/test.file" "../test/path/test.file"

  Parameters:
    `path` - Path to be normalized

### getFilePath

    protected java.lang.String getFilePath(java.lang.String path)

  Return a path relative to the file being parsed, if they try to use "../" or have a trailing "/" we return `null` since that is not allowed within a SSI file directive. Example of valid path: "test/path/test.file"

  Parameters:
    `path` - Path to be normalized

### getCGIPath

    protected java.lang.String getCGIPath(java.lang.String path)

### getCommandPath

    protected java.lang.String getCommandPath(java.lang.String path)

Copyright © 2000-2001 Apache Software Foundation. All Rights Reserved.