Class EncryptionResponseBodyAdvice

java.lang.Object
io.getlime.security.powerauth.rest.api.spring.filter.EncryptionResponseBodyAdvice
All Implemented Interfaces:
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>

@ControllerAdvice
public class EncryptionResponseBodyAdvice
extends java.lang.Object
implements org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>
Controller advice used for encryption of responses of REST endpoints.
Author:
Roman Strobl, roman.strobl@wultra.com
  • Constructor Summary

    Constructors
    Constructor Description
    EncryptionResponseBodyAdvice()  
  • Method Summary

    Modifier and Type Method Description
    java.lang.Object beforeBodyWrite​(java.lang.Object response, org.springframework.core.MethodParameter methodParameter, org.springframework.http.MediaType mediaType, java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass, org.springframework.http.server.ServerHttpRequest serverHttpRequest, org.springframework.http.server.ServerHttpResponse serverHttpResponse)
    Encrypt response before writing body.
    void setRequestMappingHandlerAdapter​(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter requestMappingHandlerAdapter)  
    boolean supports​(org.springframework.core.MethodParameter methodParameter, java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass)
    Whether method supports encryption.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • EncryptionResponseBodyAdvice

      public EncryptionResponseBodyAdvice()
  • Method Details

    • setRequestMappingHandlerAdapter

      @Autowired public void setRequestMappingHandlerAdapter​(org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter requestMappingHandlerAdapter)
    • supports

      public boolean supports​(@NonNull org.springframework.core.MethodParameter methodParameter, @NonNull java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass)
      Whether method supports encryption. Standard implementation supports conversion to JSON, String or byte[].
      Specified by:
      supports in interface org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>
      Parameters:
      methodParameter - Method parameter.
      converterClass - Chosen HTTP message converter class.
      Returns:
      Whether method supports encryption.
    • beforeBodyWrite

      public java.lang.Object beforeBodyWrite​(java.lang.Object response, @NonNull org.springframework.core.MethodParameter methodParameter, @NonNull org.springframework.http.MediaType mediaType, @NonNull java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>> converterClass, @NonNull org.springframework.http.server.ServerHttpRequest serverHttpRequest, @NonNull org.springframework.http.server.ServerHttpResponse serverHttpResponse)
      Encrypt response before writing body.
      Specified by:
      beforeBodyWrite in interface org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice<java.lang.Object>
      Parameters:
      response - Response object.
      methodParameter - Method parameter.
      mediaType - Selected HTTP response media type.
      converterClass - Selected HTTP message converter class.
      serverHttpRequest - HTTP request.
      serverHttpResponse - HTTP response.
      Returns:
      ECIES cryptogram.