Class HttpMethodsFilter

java.lang.Object
jakarta.servlet.GenericFilter
br.ufsc.labsec.web.filters.HttpMethodsFilter
All Implemented Interfaces:
jakarta.servlet.Filter, jakarta.servlet.FilterConfig, Serializable
Direct Known Subclasses:
HttpMethodsFilterSigner

public class HttpMethodsFilter extends jakarta.servlet.GenericFilter
Classe que encapsula métodos comuns para filtros de métodos HTTP. Esses filtros são responsáveis por verificar e controlar os métodos HTTP permitidos para endpoints específicos, conforme a implementação. Eles verificam se o método HTTP de uma requisição é permitido para o endpoint solicitado. Se o método não for permitido, uma resposta de erro será enviada com o código de status HTTP 405 (Method Not Allowed).
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final Map<String,String[]>
    Map relacionando o nome do endpoint com os métodos HTTP permitidos no mesmo.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Executa a destruição do filtro.
    void
    doFilter(jakarta.servlet.ServletRequest req, jakarta.servlet.ServletResponse resp, jakarta.servlet.FilterChain chain)
    Este método filtra a requisição, verificando se o método HTTP da requisição é permitido para o endpoint solicitado.
    void
    init(jakarta.servlet.FilterConfig filterConfig)
    Método de inicialização do filtro.
    void
    setJsonKey(String jsonKey)
    Define uma chave JSON.

    Methods inherited from class jakarta.servlet.GenericFilter

    getFilterConfig, getFilterName, getInitParameter, getInitParameterNames, getServletContext, init

    Methods inherited from class Object

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

    • endpointMethodsMap

      protected final Map<String,String[]> endpointMethodsMap
      Map relacionando o nome do endpoint com os métodos HTTP permitidos no mesmo.
  • Constructor Details

    • HttpMethodsFilter

      public HttpMethodsFilter()
  • Method Details

    • setJsonKey

      public void setJsonKey(String jsonKey)
      Define uma chave JSON.
      Parameters:
      jsonKey - chave JSON
    • init

      public void init(jakarta.servlet.FilterConfig filterConfig) throws jakarta.servlet.ServletException
      Método de inicialização do filtro.
      Specified by:
      init in interface jakarta.servlet.Filter
      Overrides:
      init in class jakarta.servlet.GenericFilter
      Parameters:
      filterConfig - Configuração do filtro.
      Throws:
      jakarta.servlet.ServletException - Caso ocorra um erro durante a inicialização do filtro.
    • doFilter

      public void doFilter(jakarta.servlet.ServletRequest req, jakarta.servlet.ServletResponse resp, jakarta.servlet.FilterChain chain) throws IOException, jakarta.servlet.ServletException
      Este método filtra a requisição, verificando se o método HTTP da requisição é permitido para o endpoint solicitado.
      Parameters:
      req - Requisição recebida pelo filtro
      resp - Resposta à requisição
      chain - Cadeia de filtros que pode ser usada para passar a requisição e resposta para o próximo filtro na cadeia
      Throws:
      IOException - se ocorrer um erro de entrada ou saída ao processar a requisição ou resposta
      jakarta.servlet.ServletException - se ocorrer uma exceção geral do servlet ao processar a requisição ou resposta
    • destroy

      public void destroy()
      Executa a destruição do filtro.