Class NativeHTTPDataLoader

java.lang.Object
eu.europa.esig.dss.spi.client.http.NativeHTTPDataLoader
All Implemented Interfaces:
DataLoader, Serializable

public class NativeHTTPDataLoader extends Object implements DataLoader
Implementation of native java DataLoader using the java.net.URL class.
See Also:
  • Constructor Details

    • NativeHTTPDataLoader

      public NativeHTTPDataLoader()
      Default constructor instantiating object with null values
  • Method Details

    • setContentType

      public void setContentType(String contentType)
      Description copied from interface: DataLoader
      This allows to set the content type. Example: Content-Type "application/ocsp-request"
      Specified by:
      setContentType in interface DataLoader
      Parameters:
      contentType - to set the Content-Type
    • getMaxInputSize

      public int getMaxInputSize()
      Gets the maximum InputStream size
      Returns:
      maximum InputStream size
    • setMaxInputSize

      public void setMaxInputSize(int maxInputSize)
      Sets the maximum InputStream size
      Parameters:
      maxInputSize - maximum InputStream size
    • setTimeout

      @Deprecated public void setTimeout(int timeout)
      Deprecated.
      since DSS 5.12. See #setConnectTimeout and #setReadTimeout
      Sets timeout value
      Parameters:
      timeout - timeout value
    • getConnectTimeout

      public int getConnectTimeout()
      Gets the timeout value on connection establishment with a remote resource
      Returns:
      connection timeout value
    • setConnectTimeout

      public void setConnectTimeout(int connectTimeout)
      Sets the timeout to establish a connection with a remote resource (in milliseconds). Zero (0) value is used for no timeout. Default: 0 (no timeout)
      Parameters:
      connectTimeout - connection timeout value (in milliseconds)
    • getReadTimeout

      public int getReadTimeout()
      Gets the timeout value on response reading from a remote resource
      Returns:
      read timeout value
    • setReadTimeout

      public void setReadTimeout(int readTimeout)
      Sets the timeout to read a response from a remote resource (in milliseconds). Zero (0) value is used for no timeout. Default: 0 (no timeout)
      Parameters:
      readTimeout - read timeout value (in milliseconds)
    • request

      protected byte[] request(String url, NativeHTTPDataLoader.HttpMethod method, byte[] content, boolean refresh)
      Execute the request
      Parameters:
      url - String
      method - NativeHTTPDataLoader.HttpMethod
      content - request content
      refresh - if enforce the refresh
      Returns:
      response binaries
    • createNativeDataLoaderCall

      protected Callable<byte[]> createNativeDataLoaderCall(String url, NativeHTTPDataLoader.HttpMethod method, byte[] content, boolean refresh)
      This method creates a task call to be executed by NativeHTTPDataLoader
      Parameters:
      url - String URL to call
      method - NativeHTTPDataLoader.HttpMethod of the request
      content - byte array containing a body of the request, when required
      refresh - defined if the cache should be used
      Returns:
      Callable task
    • get

      public DataLoader.DataAndUrl get(List<String> urlStrings)
      Description copied from interface: DataLoader
      Execute a HTTP GET operation. This method is used when many URls are available to access the same resource. The operation stops after the first successful download.
      Specified by:
      get in interface DataLoader
      Parameters:
      urlStrings - List of Strings representing the URLs to be used in sequential way to obtain the data.
      Returns:
      DataAndUrl representing the array of obtained data and used url, or null
    • get

      public byte[] get(String url)
      Description copied from interface: DataLoader
      Execute a HTTP GET operation.
      Specified by:
      get in interface DataLoader
      Parameters:
      url - the url to access
      Returns:
      byte array of obtained data or null
    • get

      public byte[] get(String url, boolean refresh)
      Executes a GET request to the provided URL, with a forced cache refresh when defined
      Specified by:
      get in interface DataLoader
      Parameters:
      url - to access
      refresh - if true indicates that the data should be refreshed
      Returns:
      binaries of the extracted data object
    • post

      public byte[] post(String url, byte[] content)
      Description copied from interface: DataLoader
      Executes a HTTP POST operation
      Specified by:
      post in interface DataLoader
      Parameters:
      url - to access
      content - the content to post
      Returns:
      byte array of obtained data