Package org.frankframework.pipes
Class StreamPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.pipes.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 Summary
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUnique
Fields inherited from class org.frankframework.core.TransactionAttributes
log
Fields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
adjustFirstStringPart
(String firstStringPart, PipeLineSession session) doPipe
(Message message, PipeLineSession session) This is where the action takes place.boolean
boolean
boolean
void
setAntiVirusFailureAsSoapFault
(boolean b) (only used for parameterhttprequest
and whencheckantivirus=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 messagevoid
setAntiVirusFailureReasonSessionKey
(String antiVirusFailureReasonSessionKey) (only used for parameterhttprequest
and whencheckantivirus=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 pipelinevoid
setAntiVirusMessagePartName
(String antiVirusMessagePartName) (only used for parameterhttprequest
and whencheckantivirus=true
) name of antivirus scan message partsvoid
setAntiVirusPartName
(String antiVirusPartName) (only used for parameterhttprequest
and whencheckantivirus=true
) name of antivirus scan status partsvoid
setAntiVirusPassedMessage
(String antiVirusPassedMessage) (only used for parameterhttprequest
and whencheckantivirus=true
) message of antivirus scan parts which indicates the antivirus scan passedvoid
setCheckAntiVirus
(boolean b) (only used for parameterhttprequest
) 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)void
setExtractFirstStringPart
(boolean b) (only used for parameterhttprequest
) when true the first part is not put in a session key but returned to the pipeline (as the result of this pipe)void
setMultipartXmlSessionKey
(String multipartXmlSessionKey) (only used whenextractfirststringpart=true
) the session key to put the xml in with info about the stored partsMethods inherited from class org.frankframework.pipes.FixedForwardPipe
configure, getIfParam, getIfValue, getOnlyIfSessionKey, getOnlyIfValue, getParameterValue, getSuccessForward, getUnlessSessionKey, getUnlessValue, isSkipOnEmptyInput, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
Methods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getApplicationContext, getChompCharSize, getConfigurationClassLoader, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getEventSourceName, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getName, getParameterList, getPipeLine, getSecLogSessionKeys, getStoreResultInSessionKey, hasRegisteredForward, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setEventPublisher, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEvent
Methods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, getTransactionAttribute, getTransactionTimeout, getTxDef, isTransacted, isTransacted, setTransacted, setTransactionAttribute, setTransactionTimeout
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.frankframework.core.IPipe
throwEvent
-
Field Details
-
ANTIVIRUS_FAILED_FORWARD
- See Also:
-
-
Constructor Details
-
StreamPipe
public StreamPipe()
-
-
Method Details
-
doPipe
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 theFixedResultPipe
, the Pipe can schedule the input to be closed at session exit, by callingMessage.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 parameterhttprequest
) 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
-
setMultipartXmlSessionKey
(only used whenextractfirststringpart=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 parameterhttprequest
) 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
-
setAntiVirusPartName
(only used for parameterhttprequest
and whencheckantivirus=true
) name of antivirus scan status parts- Default value
antivirus_rc
-
getAntiVirusMessagePartName
-
setAntiVirusMessagePartName
(only used for parameterhttprequest
and whencheckantivirus=true
) name of antivirus scan message parts- Default value
antivirus_msg
-
getAntiVirusPassedMessage
-
setAntiVirusPassedMessage
(only used for parameterhttprequest
and whencheckantivirus=true
) message of antivirus scan parts which indicates the antivirus scan passed- Default value
pass
-
setAntiVirusFailureAsSoapFault
public void setAntiVirusFailureAsSoapFault(boolean b) (only used for parameterhttprequest
and whencheckantivirus=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
(only used for parameterhttprequest
and whencheckantivirus=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
-