Package

net.scalytica

clammyscan

Permalink

package clammyscan

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. clammyscan
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class BaseScanParser extends ClammyScan

    Permalink
  2. class ChunkAggregationStage extends GraphStage[FlowShape[ByteString, ByteString]]

    Permalink

    GraphStage that re-arranges incoming chunks into chunks of the specified

    GraphStage that re-arranges incoming chunks into chunks of the specified

    chunkSize

    . It will aggregate bytes until enough elements have been processed to emit a new chunk of the correct size. The last chunk may be smaller than

    chunkSize

    .

    When the stage has processed the

    maxBytes

    number of bytes, the file stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    maxBytes }}} stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    chunkSize }}}

    When the stage has processed the

    maxBytes

    number of bytes, the file stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    maxBytes }}} stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    chunkSize }}} processed to emit a new chunk of the correct size. The last chunk may be smaller than

    chunkSize

    .

    When the stage has processed the

    maxBytes

    number of bytes, the file stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    maxBytes }}} stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    chunkSize }}}

    When the stage has processed the

    maxBytes

    number of bytes, the file stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

    maxBytes }}} stream is too large, and the stage will signal downstream that it has completed. This allows downstream to complete and capture the expected response from clamd.

  3. type ChunkedClamParser[A] = BodyParser[ScannedBody[A]]

    Permalink
  4. class ClamConfig extends ConfigKeys

    Permalink
  5. sealed abstract class ClamError extends ScanResponse

    Permalink
  6. class ClamIO extends AnyRef

    Permalink

    Class that provides a way of communicating with clamd using akka-streams.

    Class that provides a way of communicating with clamd using akka-streams. It Flows through akka-tcp that sends all chunks directly to clamd. The response is finally consumed by a Sink implementation that maps the end value to a ScanResult.

    See also

    ClamConfig

  7. type ClamMultipart[A] = MultipartFormData[ScannedBody[A]]

    Permalink
  8. type ClamParser[A] = BodyParser[ClamMultipart[A]]

    Permalink
  9. class ClamResponseStage extends GraphStage[FlowShape[ByteString, ScanResponse]]

    Permalink

    This GraphStage handles responses from clamd.

    This GraphStage handles responses from clamd. Also deals properly with the corner case when clamd responds with the "INSTREAM: Size limit reached" message. Clamd will immediately terminate the connection to the client after sending the message. Causing a

    akka.stream.StreamTcpException

    to be thrown, terminating the stream and prevents processing of the actual response from clamd.

    akka.stream.StreamTcpException }}} thrown, terminating the stream and prevents processing of the actual response from clamd.

  10. type ClamSink = Sink[ByteString, Future[ScanResponse]]

    Permalink
  11. case class ClammyException(scanError: ScanError) extends Exception with NoStackTrace with Product with Serializable

    Permalink

    When it is absolutely necessary to throw an Exception, use this one.

    When it is absolutely necessary to throw an Exception, use this one.

    scanError

    any subtype of ScanError

  12. trait ClammyScan extends AnyRef

    Permalink

    Enables parallel AV scanning of files/attachments being uploaded.

  13. class ClammyScanModule extends Module

    Permalink

    Play module to enable the ClammyScan module using DI

  14. class ClammyScanParser extends BaseScanParser

    Permalink

    Default implementation of the ClammyScan parsers

  15. trait ConfigKeys extends AnyRef

    Permalink
  16. case class InvalidFilename(message: String) extends ClamError with Product with Serializable

    Permalink
  17. type SaveSink[A] = Sink[ByteString, Future[Option[A]]]

    Permalink
  18. case class ScanError(message: String) extends ClamError with Product with Serializable

    Permalink
  19. sealed trait ScanResponse extends AnyRef

    Permalink
  20. case class ScannedBody[A](scanResponse: ScanResponse, maybeRef: Option[A]) extends Product with Serializable

    Permalink
  21. type ToSaveSink[A] = (String, Option[String]) ⇒ SaveSink[A]

    Permalink
  22. case class VirusFound(message: String) extends ClamError with Product with Serializable

    Permalink

Value Members

  1. object ClamIO

    Permalink
  2. object ClamProtocol

    Permalink
  3. object FileOk extends ScanResponse with Product with Serializable

    Permalink
  4. object ScanResponse

    Permalink
  5. object UnsignedInt

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped