
package com.eactive.eai.adapter.http.client;

public interface HttpClientAdapterServiceKey {

	public static final String ADAPTER_GROUP_NAME = "ADAPTER_GROUP_NAME";
	public static final String ADAPTER_NAME = "ADAPTER_NAME";

	public static final String HTTP_TYPE = "HTTP_TYPE";
	public static final String URL = "URL";
	public static final String DR_PROP_GROUP = "DR";
	public static final String DR_PROP_KEY = "dr.enable";
	public static final String DR_URL = "URL_DR";
	public static final String URL_2GRP = "URL_2GRP";

	public static final String METHOD = "METHOD";
	public static final String PARAMETER_NAME = "PARAMETER_NAME";

	public static final String TRAN_CODE = "TRAN_CODE";
	public static final String LOCAL_CALL = "LOCAL_CALL";
	public static final String LOCAL_CALL_Y = "Y";
	public static final String LOG_PROCESS_NO = "LOG_PROCESS_NO";
	public static final String LOCAL_IP = "LOCAL_IP";

	public static final String ENCODE = "ENCODE";

	public static final String CONTENT_TYPE = "CONTENT_TYPE";
	public static final String CONTENT_TYPE_KEY = "Content-Type";

	public static final String METHOD_GET = "GET";
	public static final String METHOD_POST = "POST";

	public static final String RESPONSE_TYPE = "RESPONSE_TYPE";
	public static final String RESPONSE_TYPE_SYNC = "SYNC";
	public static final String RESPONSE_TYPE_ASYNC = "ASYN";

	public static final String METHOD_SOAP = "SOAP";
	public static final String METHOD_SOAP_ACTION = "SOAPAction";
	
	public static final String REST_OPTION = "REST_OPTION";
	public static final String TOUTVAL = "TOUTVAL";

	public static final String CONNECTION_STALE_CHECKING_ENABLED = "CONNECTION_STALE_CHECKING_ENABLED";
	
	// 호스트 마다 최대 연결 수
	public static final int DEFAULT_MAX_CONNECTION_PER_HOST = 10;
	public static final String MAX_CONNECTION_PER_HOST = "MAX_CONNECTION_PER_HOST";
	// 최대 HTTP 연결 수
	public static final int DEFAULT_MAX_TOTAL_CONNECTIONS = 100;
	public static final String MAX_TOTAL_CONNECTIONS = "MAX_TOTAL_CONNECTIONS";

	static final String PARAMETER_MESSAGE = "_message_";

	static final String URL_ENCODE_YN = "URL_ENCODE_YN";

	static final String CONNECTION_TIMEOUT = "CONNECTION_TIMEOUT";
	static final String ADAPTER_HEADER = "ADAPTER_HEADER";

	public static final String HTTP_TIME_OUT = "HTTP_TIME_OUT";
	public static final int DEFAULT_TIME_OUT = 30 * 1000;
	
	public static final String TESTCALL_URL = "TESTCALL_URL";
	public static final String TESTCALL_YN = "TESTCALL_YN";
	public static final String TRACE_LEVEL = "TRACE_LEVEL";

	public static final String HEALTHCHECK_URL = "HEALTHCHECK_URL";
	public static final String HEALTHCHECK_TIMEOUTMS = "HEALTHCHECK_TIMEOUTMS";
	
	public static final String INBOUND_METHOD = "INBOUND_METHOD";
	public static final String INBOUND_URI = "INBOUND_URI";
	public static final String INBOUND_EXTURI = "INBOUND_EXTURI";
	public static final String INBOUND_EXTPARAMS = "INBOUND_EXTPARAMS";
	public static final String INBOUND_HEADER = "INBOUND_HEADER";

	public static final String HTTP_VERSION = "HTTP_VERSION";
	public static final String HTTP_VERSION_1_0 = "1.0";
	public static final String HTTP_VERSION_1_1 = "1.1";
	public static final String HTTP_VERSION_2_0 = "2.0";
	
	public static final String HTTP_VERSION_FULL_1_1 = "HTTP_1_1";
	public static final String HTTP_VERSION_FULL_1_0 = "HTTP_1_0";
	
	public static final String USE_MTLS = "USE_MTLS";
	public static final String CLIENT_ID = "CLIENT_ID";
	public static final String KEYSTORE_PATH = "KEYSTORE_PATH";
	public static final String KEYSTORE_PWD = "KEYSTORE_PWD";
	public static final String TRUSTSTORE_PATH = "TRUSTSTORE_PATH";
	public static final String TRUSTSTORE_PWD = "TRUSTSTORE_PWD";
	
	public static final String TRANSACTION_ID = "transactionId";
	public static final String INSTANCE_ID = "instanceId";

	public static final String TRANSACTION_SVC_PATTERN ="TRANSACTION_SVC_PATTERN";//(SYNC/ASYN)-(SYNC/ASYN)
}