Class HttpRequestBuilder

  • Direct Known Subclasses:
    HttpPostRequestBuilder

    public class HttpRequestBuilder
    extends Object
    Builder for preparing and sending an HTTP request.
    Since:
    7.0.1
    Author:
    XIMA MEDIA GmbH
    • Constructor Detail

      • HttpRequestBuilder

        public HttpRequestBuilder​(@Nonnull
                                  EHttpVerb method,
                                  @Nonnull
                                  String uri)
                           throws URISyntaxException
        Parameters:
        method - HTTP method to use.
        uri - The request URL, must not be null
        Throws:
        URISyntaxException - When the given string is not a valid URI.
      • HttpRequestBuilder

        public HttpRequestBuilder​(@Nonnull
                                  EHttpVerb method,
                                  @Nonnull
                                  URI uri)
        Parameters:
        method - HTTP method to use.
        uri - The request URL.
      • HttpRequestBuilder

        public HttpRequestBuilder​(@Nonnull
                                  String method,
                                  @Nonnull
                                  String uri)
                           throws URISyntaxException
        Parameters:
        method - HTTP method to use.
        uri - The request URL, must not be null
        Throws:
        URISyntaxException - When the given string is not a valid URI.
      • HttpRequestBuilder

        public HttpRequestBuilder​(@Nonnull
                                  String method,
                                  @Nonnull
                                  URI uri)
        Parameters:
        method - HTTP method to use.
        uri - The request URL.
    • Method Detail

      • addParameter

        @Nonnull
        public HttpRequestBuilder addParameter​(@Nonnull
                                               String name,
                                               @Nonnull
                                               String value,
                                               @Nonnull
                                               org.apache.http.entity.ContentType contentType)
      • build

        @Nonnull
        public org.apache.http.client.methods.CloseableHttpResponse build()
                                                                   throws IOException
        Performs the HTTP request to the server and returns the response.
        Returns:
        The response that was obtained from the server.
        Throws:
        IOException - When a network failure occurred and data could not be sent to the remote host or the response could not be received.
      • getUrl

        @Nonnull
        public String getUrl()
        Returns:
        the request URL
      • setInputCharset

        @Nonnull
        public HttpRequestBuilder setInputCharset​(@Nonnull
                                                  Charset inputCharset)
        Sets the request character encoding.
        Parameters:
        inputCharset - encoding character set
        Returns:
        This builder for chaining method calls.
      • setProxyServer

        @Nonnull
        public HttpRequestBuilder setProxyServer​(@Nullable
                                                 FcHttpRequestProps.ProxyProps proxyConfig)
        Sets the following proxy server configuration parameters if defined inside the FcHttpRequestProps.ProxyProps object:
        • proxy server host
        • proxy server port
        • login for a proxy server authentication
        • password for a proxy server authentication
        Parameters:
        proxyConfig - the proxy server configuration
        Returns:
        This builder for chaining method calls.
      • setProxyServerHost

        @Nonnull
        public HttpRequestBuilder setProxyServerHost​(@Nullable
                                                     String host)
        Sets the proxy server host.
        Parameters:
        host - proxy server host
        Returns:
        This builder for chaining method calls.
      • setProxyServerPort

        @Nonnull
        public HttpRequestBuilder setProxyServerPort​(int port)
        Sets the proxy server port.
        Parameters:
        port - proxy server port
        Returns:
        This builder for chaining method calls.
      • withDisabledRedirectHandling

        @Nonnull
        public HttpRequestBuilder withDisabledRedirectHandling​(boolean disableRedirectHandling)
        Enables/Disables automatic redirect handling.
        Parameters:
        disableRedirectHandling - true or false
        Returns:
        This builder for chaining method calls.
      • supportsMessageBody

        @Nonnull
        public HttpRequestBuilder supportsMessageBody​(@Nullable
                                                      Boolean supportsMessageBody)
        Parameters:
        supportsMessageBody - Whether this request supports a message body. When it does not, parameters are added as URL parameters and no files are included. When null, a default is used based on the HTTP method.
        Returns:
        This builder for chaining method calls.
      • useBasicAuthentication

        public boolean useBasicAuthentication()
        Returns:
        true if an login and password for basic authentication is set, otherwise true
      • useProxyServer

        public boolean useProxyServer()
        Returns:
        true if the host and port for a proxy server use is set, otherwise false
      • useProxyServerAuthentication

        public boolean useProxyServerAuthentication()
        Returns:
        true if an login and password for proxy server authentication is set, otherwise false