Class ForwardProxyConsumer

java.lang.Object
io.fluxzero.proxy.ForwardProxyConsumer
All Implemented Interfaces:
Consumer<List<io.fluxzero.common.api.SerializedMessage>>

public class ForwardProxyConsumer extends Object implements Consumer<List<io.fluxzero.common.api.SerializedMessage>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final io.fluxzero.sdk.web.WebRequestSettings
     
    protected static final io.fluxzero.sdk.common.serialization.Serializer
     
    protected final Map<String, io.fluxzero.common.Registration>
     
    protected static final io.fluxzero.sdk.common.serialization.Serializer
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    ForwardProxyConsumer(io.fluxzero.sdk.configuration.client.Client client, String consumerName, Long minIndex, boolean mainConsumer, boolean publishMetrics)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    accept(List<io.fluxzero.common.api.SerializedMessage> serializedMessages)
     
    protected HttpRequest
    asHttpRequest(io.fluxzero.common.api.SerializedMessage request, URI uri, io.fluxzero.sdk.web.WebRequestSettings settings)
     
    protected io.fluxzero.sdk.web.WebResponse
     
    protected io.fluxzero.sdk.web.WebResponse
    asWebResponse(HttpResponse<byte[]> response)
     
    protected io.fluxzero.sdk.web.WebResponse
     
    protected String
    formatType(io.fluxzero.common.api.SerializedMessage request)
     
    getBodyPublisher(io.fluxzero.common.api.SerializedMessage request)
     
    protected io.fluxzero.sdk.web.WebRequestSettings
    getSettings(io.fluxzero.common.api.SerializedMessage request)
     
    protected void
    handle(io.fluxzero.common.api.SerializedMessage request, URI uri, io.fluxzero.sdk.web.WebRequestSettings settings)
     
    protected void
    publishHandleMessageMetrics(io.fluxzero.common.api.SerializedMessage request, boolean exceptionalResult, Instant start)
     
    protected void
     
    protected void
    sendResponse(io.fluxzero.sdk.web.WebResponse response, io.fluxzero.common.api.SerializedMessage request)
     
    protected io.fluxzero.common.Registration
     
    static io.fluxzero.common.Registration
    start(io.fluxzero.sdk.configuration.client.Client client)
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface Consumer

    andThen
  • Field Details

    • defaultSettings

      protected static final io.fluxzero.sdk.web.WebRequestSettings defaultSettings
    • serializer

      protected static final io.fluxzero.sdk.common.serialization.Serializer serializer
    • metricsSerializer

      protected static final io.fluxzero.sdk.common.serialization.Serializer metricsSerializer
    • runningConsumers

      protected final Map<String, io.fluxzero.common.Registration> runningConsumers
  • Constructor Details

    • ForwardProxyConsumer

      protected ForwardProxyConsumer(io.fluxzero.sdk.configuration.client.Client client, String consumerName, Long minIndex, boolean mainConsumer, boolean publishMetrics)
  • Method Details

    • start

      public static io.fluxzero.common.Registration start(io.fluxzero.sdk.configuration.client.Client client)
    • start

      protected io.fluxzero.common.Registration start()
    • accept

      public void accept(List<io.fluxzero.common.api.SerializedMessage> serializedMessages)
      Specified by:
      accept in interface Consumer<List<io.fluxzero.common.api.SerializedMessage>>
    • handle

      protected void handle(io.fluxzero.common.api.SerializedMessage request, URI uri, io.fluxzero.sdk.web.WebRequestSettings settings)
    • asHttpRequest

      protected HttpRequest asHttpRequest(io.fluxzero.common.api.SerializedMessage request, URI uri, io.fluxzero.sdk.web.WebRequestSettings settings)
    • getSettings

      protected io.fluxzero.sdk.web.WebRequestSettings getSettings(io.fluxzero.common.api.SerializedMessage request)
    • executeRequest

      protected io.fluxzero.sdk.web.WebResponse executeRequest(HttpRequest httpRequest)
    • sendResponse

      protected void sendResponse(io.fluxzero.sdk.web.WebResponse response, io.fluxzero.common.api.SerializedMessage request)
    • asWebResponse

      protected io.fluxzero.sdk.web.WebResponse asWebResponse(HttpResponse<byte[]> response)
    • asWebResponse

      protected io.fluxzero.sdk.web.WebResponse asWebResponse(Throwable e)
    • getBodyPublisher

      protected HttpRequest.BodyPublisher getBodyPublisher(io.fluxzero.common.api.SerializedMessage request)
    • publishHandleMessageMetrics

      protected void publishHandleMessageMetrics(io.fluxzero.common.api.SerializedMessage request, boolean exceptionalResult, Instant start)
    • formatType

      protected String formatType(io.fluxzero.common.api.SerializedMessage request)
    • publishProcessBatchMetrics

      protected void publishProcessBatchMetrics(Instant start)