Class StreamPipe

All Implemented Interfaces:
HasTransactionAttribute, IConfigurable, IConfigurationAware, IForwardTarget, INamedObject, IPipe, IScopeProvider, IWithParameters, EventThrowing, HasStatistics, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

@Forward(name="antiVirusFailed", description="virus checking indicates a problem with the message") public class StreamPipe extends FixedForwardPipe
Stream an input stream to an output stream.
Author:
Jaco de Groot
Specific parameters
inputStream the input stream object to use instead of an input stream object taken from pipe input, outputStream the output stream object to use unless httpResponse parameter is specified, httpResponse an HttpServletResponse object to stream to (the output stream is retrieved by calling getOutputStream() on the HttpServletResponse object), httpRequest an HttpServletRequest object to stream from. Each part is put in a session key and the result of this pipe is a xml with info about these parts and the name of the session key, contentType the Content-Type header to set in case httpResponse was specified, contentDisposition the Content-Disposition header to set in case httpResponse was specified, redirectLocation the redirect location to set in case httpResponse was specified
  • Field Details

  • Constructor Details

    • StreamPipe

      public StreamPipe()
  • Method Details

    • doPipe

      public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
      Description copied from interface: IPipe
      This is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult. If the result of the Pipe does not depend on the input, like for the FixedResultPipe, the Pipe can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession, String) This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.
      Throws:
      PipeRunException
    • adjustFirstStringPart

      protected String adjustFirstStringPart(String firstStringPart, PipeLineSession session) throws PipeRunException
      Throws:
      PipeRunException
    • setExtractFirstStringPart

      public void setExtractFirstStringPart(boolean b)
      (only used for parameter httprequest) when true the first part is not put in a session key but returned to the pipeline (as the result of this pipe)
      Default value
      false
    • isExtractFirstStringPart

      public boolean isExtractFirstStringPart()
    • getMultipartXmlSessionKey

      public String getMultipartXmlSessionKey()
    • setMultipartXmlSessionKey

      public void setMultipartXmlSessionKey(String multipartXmlSessionKey)
      (only used when extractfirststringpart=true) the session key to put the xml in with info about the stored parts
      Default value
      multipartxml
    • setCheckAntiVirus

      public void setCheckAntiVirus(boolean b)
      (only used for parameter httprequest) when true parts are checked for antivirus scan returncode. these antivirus scan parts have been added by another application (so the antivirus scan is not performed in this pipe). for each file part an antivirus scan part have been added by this other application (directly after this file part)
      Default value
      false
    • isCheckAntiVirus

      public boolean isCheckAntiVirus()
    • getAntiVirusPartName

      public String getAntiVirusPartName()
    • setAntiVirusPartName

      public void setAntiVirusPartName(String antiVirusPartName)
      (only used for parameter httprequest and when checkantivirus=true) name of antivirus scan status parts
      Default value
      antivirus_rc
    • getAntiVirusMessagePartName

      public String getAntiVirusMessagePartName()
    • setAntiVirusMessagePartName

      public void setAntiVirusMessagePartName(String antiVirusMessagePartName)
      (only used for parameter httprequest and when checkantivirus=true) name of antivirus scan message parts
      Default value
      antivirus_msg
    • getAntiVirusPassedMessage

      public String getAntiVirusPassedMessage()
    • setAntiVirusPassedMessage

      public void setAntiVirusPassedMessage(String antiVirusPassedMessage)
      (only used for parameter httprequest and when checkantivirus=true) message of antivirus scan parts which indicates the antivirus scan passed
      Default value
      pass
    • setAntiVirusFailureAsSoapFault

      public void setAntiVirusFailureAsSoapFault(boolean b)
      (only used for parameter httprequest and when checkantivirus=true) when true and the antivirusfailed forward is specified and the antivirus scan did not pass, a soap fault is returned instead of only a plain error message
      Default value
      false
    • getAntiVirusFailureAsSoapFault

      public boolean getAntiVirusFailureAsSoapFault()
    • setAntiVirusFailureReasonSessionKey

      public void setAntiVirusFailureReasonSessionKey(String antiVirusFailureReasonSessionKey)
      (only used for parameter httprequest and when checkantivirus=true) if not empty and the antivirusfailed forward is specified and the antivirus scan did not pass, the error message (or soap fault) is stored in this session key and the first string part is returned to the pipeline
    • getAntiVirusFailureReasonSessionKey

      public String getAntiVirusFailureReasonSessionKey()