Class StandardWebClientService

java.lang.Object
org.apache.nifi.web.client.StandardWebClientService
All Implemented Interfaces:
Closeable, AutoCloseable, WebClientService

public class StandardWebClientService extends Object implements WebClientService, Closeable
Standard implementation of Web Client Service using Java HttpClient
  • Field Details

    • EMPTY_BYTES

      private static final byte[] EMPTY_BYTES
    • sslContextProvider

      private static final SSLContextProvider sslContextProvider
    • httpClient

      private HttpClient httpClient
    • connectTimeout

      private Duration connectTimeout
    • readTimeout

      private Duration readTimeout
    • writeTimeout

      private Duration writeTimeout
    • redirectHandling

      private RedirectHandling redirectHandling
    • proxyContext

      private ProxyContext proxyContext
    • tlsContext

      private TlsContext tlsContext
  • Constructor Details

    • StandardWebClientService

      public StandardWebClientService()
      Standard Web Client Service constructor creates a Java HttpClient using default settings
  • Method Details

    • setConnectTimeout

      public void setConnectTimeout(Duration connectTimeout)
      Set timeout for initial socket connection
      Parameters:
      connectTimeout - Connect Timeout
    • setReadTimeout

      public void setReadTimeout(Duration readTimeout)
      Set timeout for reading responses from socket connection takes precedence over write timeout
      Parameters:
      readTimeout - Read Timeout
    • setWriteTimeout

      public void setWriteTimeout(Duration writeTimeout)
      Set timeout for writing requests to socket connection when read timeout is not specified
      Parameters:
      writeTimeout - Write Timeout
    • setProxyContext

      public void setProxyContext(ProxyContext proxyContext)
      Set Proxy Context configuration for socket communication
      Parameters:
      proxyContext - Proxy Context configuration
    • setRedirectHandling

      public void setRedirectHandling(RedirectHandling redirectHandling)
      Set Redirect Handling strategy
      Parameters:
      redirectHandling - Redirect Handling strategy
    • setTlsContext

      public void setTlsContext(TlsContext tlsContext)
      Set TLS Context overrides system default TLS settings for HTTPS communication
      Parameters:
      tlsContext - TLS Context
    • method

      public HttpRequestUriSpec method(HttpRequestMethod httpRequestMethod)
      Create HTTP Request builder starting with specified HTTP Request Method
      Specified by:
      method in interface WebClientService
      Parameters:
      httpRequestMethod - HTTP Request Method required
      Returns:
      HTTP Request URI Specification builder
    • delete

      public HttpRequestUriSpec delete()
      Create HTTP Request builder starting with HTTP DELETE
      Specified by:
      delete in interface WebClientService
      Returns:
      HTTP Request URI Specification builder
    • get

      public HttpRequestUriSpec get()
      Create HTTP Request builder starting with HTTP GET
      Specified by:
      get in interface WebClientService
      Returns:
      HTTP Request URI Specification builder
    • patch

      public HttpRequestUriSpec patch()
      Create HTTP Request builder starting with HTTP PATCH
      Specified by:
      patch in interface WebClientService
      Returns:
      HTTP Request URI Specification builder
    • post

      public HttpRequestUriSpec post()
      Create HTTP Request builder starting with HTTP POST
      Specified by:
      post in interface WebClientService
      Returns:
      HTTP Request URI Specification builder
    • put

      public HttpRequestUriSpec put()
      Create HTTP Request builder starting with HTTP PUT
      Specified by:
      put in interface WebClientService
      Returns:
      HTTP Request URI Specification builder
    • close

      public void close()
      Close configured HttpClient and shutdown executor resources
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • buildHttpClient

      private HttpClient buildHttpClient()
    • getProxyPasswordAuthenticator

      private StandardWebClientService.ProxyPasswordAuthenticator getProxyPasswordAuthenticator(String proxyUsername)