CostantiControlloTraffico.java

  1. /*
  2.  * GovWay - A customizable API Gateway
  3.  * https://govway.org
  4.  *
  5.  * Copyright (c) 2005-2025 Link.it srl (https://link.it).
  6.  *
  7.  * This program is free software: you can redistribute it and/or modify
  8.  * it under the terms of the GNU General Public License version 3, as published by
  9.  * the Free Software Foundation.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  * GNU General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU General Public License
  17.  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  18.  *
  19.  */

  20. package org.openspcoop2.pdd.core.controllo_traffico;

  21. import org.openspcoop2.utils.Map;
  22. import org.openspcoop2.utils.MapKey;

  23. /**    
  24.  * CostantiControlloTraffico
  25.  *
  26.  * @author Poli Andrea (poli@link.it)
  27.  * @author $Author$
  28.  * @version $Rev$, $Date$
  29.  */
  30. public class CostantiControlloTraffico {

  31.     public static final MapKey<String> PDD_CONTEXT_PDD_CONGESTIONATA = Map.newMapKey("PDD_CONGESTIONATA");
  32.    
  33.     public static final MapKey<String> PDD_CONTEXT_POLICY_CONFIG_PORTA = Map.newMapKey("POLICY_CONFIG_PORTA");
  34.     public static final MapKey<String> PDD_CONTEXT_POLICY_CONFIG_GLOBALE = Map.newMapKey("POLICY_CONFIG_GLOBALE");
  35.     public static final MapKey<String> PDD_CONTEXT_LIST_API_OR_GLOBAL_OR_DEFAULT = Map.newMapKey("POLICY_API_OR_GLOBAL_OR_DEFAULT");
  36.     public static final String PDD_CONTEXT_LIST_API_OR_GLOBAL_OR_DEFAULT_VALUE_API = "API";
  37.     public static final String PDD_CONTEXT_LIST_API_OR_GLOBAL_OR_DEFAULT_VALUE_GLOBAL = "GLOBAL";
  38.     public static final String PDD_CONTEXT_LIST_API_OR_GLOBAL_OR_DEFAULT_VALUE_DEFAULT = "DEFAULT";
  39.     public static final MapKey<String> PDD_CONTEXT_LIST_GROUP_BY_CONDITION = Map.newMapKey("POLICY_GROUP_BY_CONDITION");
  40.     public static final MapKey<String> PDD_CONTEXT_LIST_UNIQUE_ID_POLICY = Map.newMapKey("POLICY_IDS");
  41.     public static final MapKey<String> PDD_CONTEXT_LIST_POLICY_APPLICABILE = Map.newMapKey("POLICY_APPLICABILE");
  42.     public static final MapKey<String> PDD_CONTEXT_LIST_POLICY_VIOLATA = Map.newMapKey("POLICY_VIOLATA");
  43.     public static final MapKey<String> PDD_CONTEXT_MAX_REQUEST_THREAD_REGISTRATO = Map.newMapKey("MAX_REQUEST_VIOLATED");
  44.     public static final MapKey<String> PDD_CONTEXT_MAX_REQUEST_VIOLATED_EVENTO = Map.newMapKey("MAX_REQUEST_VIOLATED_EVENTO");
  45.     public static final MapKey<String> PDD_CONTEXT_MAX_REQUEST_VIOLATED_URL_INVOCAZIONE = Map.newMapKey("MAX_REQUEST_VIOLATED_URL_INVOCAZIONE");
  46.     public static final MapKey<String> PDD_CONTEXT_MAX_REQUEST_VIOLATED_CREDENZIALI = Map.newMapKey("MAX_REQUEST_VIOLATED_CREDENZIALI");
  47.     public static final MapKey<String> PDD_CONTEXT_HEADER_RATE_LIMITING = Map.newMapKey("HEADER_RATE_LIMITING");
  48.    
  49.     public static final String PARAMETRO_CONTROLLO_TRAFFICO_REDEFINE_TEMPI_RISPOSTA = "CTRedefineTempiRisposta";
  50.     public static final String PARAMETRO_CONTROLLO_TRAFFICO_CONNECTION_TIMEOUT = "CTConnectionTimeout";
  51.     public static final String PARAMETRO_CONTROLLO_TRAFFICO_READ_TIMEOUT = "CTReadTimeout";
  52.     public static final String PARAMETRO_CONTROLLO_TRAFFICO_TEMPO_MEDIO_RISPOSTA = "CTTempoMedioRisposta";
  53.    
  54.     public static final String HTML_ERROR_TITLE_TEMPLATE = "TITLE";
  55.     public static final String HTML_ERROR_MESSAGE_TEMPLATE = "MESSAGE";
  56.     public static final String HTML_ERROR =
  57.         "<html>\n" +
  58.         "   <head>\n" +
  59.         "      <title>"+HTML_ERROR_TITLE_TEMPLATE+"</title>\n" +
  60.         "   </head>\n" +
  61.         "   <body>\n" +
  62.         "      <h1>"+HTML_ERROR_TITLE_TEMPLATE+"</h1>\n" +
  63.         "      <p>"+HTML_ERROR_MESSAGE_TEMPLATE+"</p>\n" +
  64.         "   </body>\n" +
  65.         "</html>";
  66.    
  67.     public static final String HTML_429_TOO_MANY_REQUESTS_ERROR =  HTML_ERROR.replace(HTML_ERROR_TITLE_TEMPLATE, "Too Many Requests");
  68.     public static final String HTML_429_LIMIT_EXCEEDED_ERROR =  HTML_ERROR.replace(HTML_ERROR_TITLE_TEMPLATE, "Limit Exceeded");
  69.     public static final String HTML_503_ERROR =  HTML_ERROR.replace(HTML_ERROR_TITLE_TEMPLATE, "Service Unavailable");
  70.     public static final String HTML_500_ERROR =  HTML_ERROR.replace(HTML_ERROR_TITLE_TEMPLATE, "Internal Server Error");
  71. }