override protected def processEvent()

in src/main/scala/com/gu/contentapi/firehose/ContentApiFirehoseConsumer.scala [32:54]


  override protected def processEvent(event: Event): Unit = {
    event.eventType match {

      case EventType.Update | EventType.RetrievableUpdate =>
        event.payload.foreach {
          case EventPayload.Content(content) => streamListener.contentUpdate(content)
          case EventPayload.RetrievableContent(content) => streamListener.contentRetrievableUpdate(content)
          case EventPayload.Atom(atom) => streamListener.atomUpdate(atom)
          case EventPayload.DeletedContent(content) => streamListener.contentDelete(content)
          case UnknownUnionField(e) => logger.warn(s"Received an unknown event payload $e. You should possibly consider updating")
        }

      case EventType.Delete =>
        if (filterProductionMonitoring && event.payloadId.startsWith("production-monitoring")) {
          // do nothing.
        } else {
          // Atom delete events are currently not supported by CAPI and therefore Crier
          streamListener.contentTakedown(event.payloadId)
        }

      case EnumUnknownEventType(e) => logger.warn(s"Received an unknown event type $e")
    }
  }