Class RequestSigningFilter

  • All Implemented Interfaces:
    javax.ws.rs.client.ClientRequestFilter

    @Priority(1000)
    public class RequestSigningFilter
    extends AuthnClientFilter
    Filter that adds authentication and User-Agent headers to a request.
    • Constructor Detail

      • RequestSigningFilter

        public RequestSigningFilter​(@Nonnull
                                    RequestSigner requestSigner,
                                    @Nonnull
                                    Map<SigningStrategy,​RequestSigner> requestSigners)
        Create a new RequestSigningFilter instance
        Parameters:
        requestSigner - the request signer instance
        requestSigners - the strategies used to sign requests, per signing strategy
      • RequestSigningFilter

        public RequestSigningFilter​(@Nonnull
                                    RequestSigner requestSigner)
        Create a new RequestSigningFilter instance
        Parameters:
        requestSigner - the request signer instance
    • Method Detail

      • fromAuthProvider

        public static RequestSigningFilter fromAuthProvider​(@Nonnull
                                                            BasicAuthenticationDetailsProvider authenticationDetailsProvider)
        Create a new RequestSigningFilter instance from an existing authentication details provider
        Parameters:
        authenticationDetailsProvider - the authentication details provider to use
        Returns:
        a new RequestSigningFilter instance
      • fromConfigFile

        public static RequestSigningFilter fromConfigFile​(@Nonnull
                                                          String configurationFilePath,
                                                          @Nullable
                                                          String profile)
                                                   throws IOException
        Create a new RequestSigningFilter instance from a config file
        Parameters:
        configurationFilePath - the path of the config file
        profile - the profile to use
        Returns:
        a new RequestSigningFilter instance
        Throws:
        IOException - if the config file could not be read
      • filter

        public void filter​(@Nonnull
                           javax.ws.rs.client.ClientRequestContext requestContext)
                    throws IOException
        Filter method called before a request has been dispatched to a client transport layer.

        Filters in the filter chain are ordered according to their javax.annotation.Priority class-level annotation value.

        Specified by:
        filter in interface javax.ws.rs.client.ClientRequestFilter
        Overrides:
        filter in class AuthnClientFilter
        Parameters:
        requestContext - request context.
        Throws:
        IOException - if an I/O exception occurs.