Class CreateSignatureInterceptor

  • All Implemented Interfaces:
    javax.ws.rs.client.ClientRequestFilter, javax.ws.rs.container.ContainerResponseFilter, javax.ws.rs.ext.WriterInterceptor

    @Provider
    @Priority(3000)
    public class CreateSignatureInterceptor
    extends Object
    implements javax.ws.rs.ext.WriterInterceptor, javax.ws.rs.client.ClientRequestFilter, javax.ws.rs.container.ContainerResponseFilter
    RS WriterInterceptor + ClientRequestFilter for outbound HTTP Signature. For requests with no Body (e.g. GET requests), the ClientRequestFilter/ContainerResponseFilter implementation is invoked to sign the request. All other requests are handled by the WriterInterceptor implementation, which digests the body before signing the headers.
    • Constructor Detail

      • CreateSignatureInterceptor

        public CreateSignatureInterceptor()
    • Method Detail

      • aroundWriteTo

        public void aroundWriteTo​(javax.ws.rs.ext.WriterInterceptorContext context)
                           throws IOException
        Specified by:
        aroundWriteTo in interface javax.ws.rs.ext.WriterInterceptor
        Throws:
        IOException
      • filter

        public void filter​(javax.ws.rs.client.ClientRequestContext requestContext)
        Specified by:
        filter in interface javax.ws.rs.client.ClientRequestFilter
      • filter

        public void filter​(javax.ws.rs.container.ContainerRequestContext requestContext,
                           javax.ws.rs.container.ContainerResponseContext responseContext)
                    throws IOException
        Specified by:
        filter in interface javax.ws.rs.container.ContainerResponseFilter
        Throws:
        IOException
      • sign

        protected void sign​(javax.ws.rs.ext.WriterInterceptorContext writerInterceptorContext)
      • getDigestAlgorithmName

        public String getDigestAlgorithmName()
      • setDigestAlgorithmName

        public void setDigestAlgorithmName​(String digestAlgorithmName)
      • isAddDigest

        public boolean isAddDigest()
      • setAddDigest

        public void setAddDigest​(boolean addDigest)
      • performSignature

        protected void performSignature​(javax.ws.rs.core.MultivaluedMap<String,​Object> headers,
                                        String uriPath,
                                        String httpMethod)
      • setMessageSigner

        public void setMessageSigner​(MessageSigner messageSigner)
      • setEnabled

        public void setEnabled​(boolean enabled)
      • isEnabled

        public boolean isEnabled()