Class HttpProducer

java.lang.Object
org.apache.camel.support.service.BaseService
org.apache.camel.support.service.ServiceSupport
org.apache.camel.support.DefaultProducer
org.apache.camel.component.http.HttpProducer
All Implemented Interfaces:
AutoCloseable, org.apache.camel.EndpointAware, org.apache.camel.IsSingleton, org.apache.camel.LineNumberAware, org.apache.camel.Processor, org.apache.camel.Producer, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

public class HttpProducer extends org.apache.camel.support.DefaultProducer implements org.apache.camel.LineNumberAware
  • Field Summary

    Fields inherited from class org.apache.camel.support.service.BaseService

    BUILT, FAILED, INITIALIZED, INITIALIZING, lock, NEW, SHUTDOWN, SHUTTING_DOWN, STARTED, STARTING, status, STOPPED, STOPPING, SUSPENDED, SUSPENDING
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.apache.hc.core5.http.HttpHost
    createHost(org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest)
    Creates the HttpHost to use to call the remote server
    protected org.apache.hc.client5.http.classic.methods.HttpUriRequest
    createMethod(org.apache.camel.Exchange exchange)
    Creates the HttpMethod to use to call the remote server, either its GET or POST.
    protected org.apache.hc.core5.http.HttpEntity
    createRequestEntity(org.apache.camel.Exchange exchange)
    Creates a holder object for the data to send to the remote server.
    protected void
     
    protected <T> T
    executeMethod(org.apache.camel.Exchange exchange, org.apache.hc.core5.http.HttpHost httpHost, org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest, org.apache.hc.core5.http.io.HttpClientResponseHandler<T> handler)
    Strategy when executing the method (calling the remote server).
    protected Object
    extractResponseBody(org.apache.hc.core5.http.ClassicHttpResponse httpResponse, org.apache.camel.Exchange exchange, boolean ignoreResponseBody)
    Extracts the response from the method as a InputStream.
    protected static Map<String,String>
    extractResponseHeaders(org.apache.hc.core5.http.Header[] responseHeaders)
    Extracts the response headers
     
    org.apache.hc.client5.http.classic.HttpClient
     
    int
     
     
    protected Exception
    populateHttpOperationFailedException(org.apache.camel.Exchange exchange, org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest, org.apache.hc.core5.http.ClassicHttpResponse httpResponse, int responseCode)
     
    protected void
    populateResponse(org.apache.camel.Exchange exchange, org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest, org.apache.hc.core5.http.ClassicHttpResponse httpResponse, org.apache.camel.spi.HeaderFilterStrategy strategy, int responseCode)
     
    void
    process(org.apache.camel.Exchange exchange)
     
    void
    setHttpClient(org.apache.hc.client5.http.classic.HttpClient httpClient)
     
    void
    setLineNumber(int lineNumber)
     
    void
    setLocation(String location)
     

    Methods inherited from class org.apache.camel.support.DefaultProducer

    createExchange, doStart, doStop, isSingleton, toString

    Methods inherited from class org.apache.camel.support.service.BaseService

    build, doBuild, doFail, doLifecycleChange, doResume, doShutdown, doSuspend, fail, getInternalLock, getStatus, init, isBuild, isInit, isNew, isRunAllowed, isShutdown, isStarted, isStarting, isStartingOrStarted, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.apache.camel.Service

    build, close, init, start, stop

    Methods inherited from interface org.apache.camel.ShutdownableService

    shutdown

    Methods inherited from interface org.apache.camel.StatefulService

    getStatus, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isSuspending

    Methods inherited from interface org.apache.camel.SuspendableService

    isSuspended, resume, suspend
  • Constructor Details

  • Method Details

    • doInit

      protected void doInit() throws Exception
      Overrides:
      doInit in class org.apache.camel.support.service.BaseService
      Throws:
      Exception
    • process

      public void process(org.apache.camel.Exchange exchange) throws Exception
      Specified by:
      process in interface org.apache.camel.Processor
      Throws:
      Exception
    • getEndpoint

      public HttpEndpoint getEndpoint()
      Specified by:
      getEndpoint in interface org.apache.camel.EndpointAware
      Overrides:
      getEndpoint in class org.apache.camel.support.DefaultProducer
    • populateResponse

      protected void populateResponse(org.apache.camel.Exchange exchange, org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest, org.apache.hc.core5.http.ClassicHttpResponse httpResponse, org.apache.camel.spi.HeaderFilterStrategy strategy, int responseCode) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException
    • populateHttpOperationFailedException

      protected Exception populateHttpOperationFailedException(org.apache.camel.Exchange exchange, org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest, org.apache.hc.core5.http.ClassicHttpResponse httpResponse, int responseCode) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException
    • executeMethod

      protected <T> T executeMethod(org.apache.camel.Exchange exchange, org.apache.hc.core5.http.HttpHost httpHost, org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest, org.apache.hc.core5.http.io.HttpClientResponseHandler<T> handler) throws IOException, org.apache.hc.core5.http.HttpException
      Strategy when executing the method (calling the remote server).
      Parameters:
      httpHost - the http host to call
      httpRequest - the http request to execute
      handler - the response handler
      Returns:
      the response
      Throws:
      IOException - can be thrown
      org.apache.hc.core5.http.HttpException
    • extractResponseHeaders

      protected static Map<String,String> extractResponseHeaders(org.apache.hc.core5.http.Header[] responseHeaders)
      Extracts the response headers
      Parameters:
      responseHeaders - the headers
      Returns:
      the extracted headers or an empty map if no headers existed
    • extractResponseBody

      protected Object extractResponseBody(org.apache.hc.core5.http.ClassicHttpResponse httpResponse, org.apache.camel.Exchange exchange, boolean ignoreResponseBody) throws IOException, ClassNotFoundException
      Extracts the response from the method as a InputStream.
      Throws:
      IOException
      ClassNotFoundException
    • createHost

      protected org.apache.hc.core5.http.HttpHost createHost(org.apache.hc.client5.http.classic.methods.HttpUriRequest httpRequest)
      Creates the HttpHost to use to call the remote server
    • createMethod

      protected org.apache.hc.client5.http.classic.methods.HttpUriRequest createMethod(org.apache.camel.Exchange exchange) throws Exception
      Creates the HttpMethod to use to call the remote server, either its GET or POST.
      Parameters:
      exchange - the exchange
      Returns:
      the created method as either GET or POST
      Throws:
      URISyntaxException - is thrown if the URI is invalid
      Exception - is thrown if error creating RequestEntity
    • createRequestEntity

      protected org.apache.hc.core5.http.HttpEntity createRequestEntity(org.apache.camel.Exchange exchange) throws org.apache.camel.CamelExchangeException
      Creates a holder object for the data to send to the remote server.
      Parameters:
      exchange - the exchange with the IN message with data to send
      Returns:
      the data holder
      Throws:
      org.apache.camel.CamelExchangeException - is thrown if error creating RequestEntity
    • getHttpClient

      public org.apache.hc.client5.http.classic.HttpClient getHttpClient()
    • setHttpClient

      public void setHttpClient(org.apache.hc.client5.http.classic.HttpClient httpClient)
    • getLineNumber

      public int getLineNumber()
      Specified by:
      getLineNumber in interface org.apache.camel.LineNumberAware
    • setLineNumber

      public void setLineNumber(int lineNumber)
      Specified by:
      setLineNumber in interface org.apache.camel.LineNumberAware
    • getLocation

      public String getLocation()
      Specified by:
      getLocation in interface org.apache.camel.LineNumberAware
    • setLocation

      public void setLocation(String location)
      Specified by:
      setLocation in interface org.apache.camel.LineNumberAware