# Package org.apache.catalina.ssi

package org.apache.catalina.ssi

This package contains code that is used by the SsiInvoker.

This class consists of `SsiMediator.java` which works as a mediator between the different SsiCommands. To add a command you have to implement the `SsiCommand` interface and extend the `SsiMediator`. Commands currently implemented are

- SsiConfig - Implementation of the NCSA command Config i.e. <!--#config errmsg="error?"-->
- SsiEcho - Implementation of the NCSA command Echo i.e. <!--#echo var="SERVER_NAME"-->
- SsiExec - Not implemented
- SsiFlastMod - Implementation of the NCSA command flastmod i.e. <!--#flastmod virtual="file"-->
- SsiFsize - Implementation of the NCSA command fsize i.e. <!--#fsize file="file"-->
- SsiInclude - Implementation of the NCSA command Include i.e. <!--#config virtual="includefile"-->

Related Packages
Package
Description
org.apache.catalina
Class
Description
ByteArrayServletOutputStream
Class that extends ServletOutputStream, used as a wrapper from within `SsiInclude`
ExpressionParseTree
Represents a parsed expression.
ExpressionTokenizer
Parses an expression string to return the individual tokens.
ResponseIncludeWrapper
An HttpServletResponseWrapper, used from `SSIServletExternalResolver`
SSICommand
The interface that all SSI commands ( SSIEcho, SSIInclude, ...) must implement.
SSIConditional
SSI command that handles all conditional directives.
SSIConfig
Implements the Server-side #exec command
SSIEcho
Return the result associated with the supplied Server Variable.
SSIExec
Implements the Server-side #exec command
SSIExternalResolver
Interface used by SSIMediator to talk to the 'outside world' ( usually a servlet )
SSIFilter
Filter to process SSI requests within a webpage.
SSIFlastmod
Implements the Server-side #flastmod command
SSIFsize
Implements the Server-side #fsize command
SSIInclude
Implements the Server-side #include command
SSIMediator
Allows the different SSICommand implementations to share data/talk to each other
SSIPrintenv
Implements the Server-side #printenv command
SSIProcessor
The entry point to SSI processing.
SSIServlet
Servlet to process SSI requests within a webpage.
SSIServletExternalResolver
An implementation of SSIExternalResolver that is used with servlets.
SSIServletExternalResolver.ServletContextAndPath
SSIServletRequestUtil
SSISet
Implements the Server-side #set command
SSIStopProcessingException
Exception used to tell SSIProcessor that it should stop processing SSI commands.