본문 바로가기
WIKI 기술 지식 베이스

vars

원문 보기 위키 갱신

출처: Caddy 공식 문서

본문

나중에 요청 처리 체인에서 사용할 수 있도록 하나 이상의 변수를 특정 값으로 설정해요.

변수에 접근하는 주된 방법은 {vars.variable_name} 형태의 플레이스홀더를 쓰거나, vars와 vars_regexp 요청 매처를 사용하는 거예요.

templates 지시문에서 placeholder 함수와 함께 변수를 사용할 수도 있어요. 예를 들어: {{placeholder "http.vars.variable_name"}}

특별한 경우로, replacer에 저장된 http.auth.user.id 변수를 덮어써서 액세스 로그의 user_id 필드를 업데이트할 수도 있어요.

문법

vars [<matcher>] [<name> <value>] {
    <name> <value>
    ...
}
  • 은 설정할 변수 이름이에요.

  • 는 변수의 값이에요.

가능하면 값은 타입 변환이 돼요. true와 false는 불리언 타입으로, 숫자 값은 정수나 부동소수점으로 변환돼요. 이 변환을 피하고 문자열로 유지하고 싶다면 따옴표로 감싸면 돼요.

예제

단일 변수를 설정하고, 값은 요청 경로에 따라 조건부로 정한 뒤 그 값으로 응답하는 예시예요:

example.com {
	vars /foo* isFoo "yep"
	vars isFoo "nope"

	respond {vars.isFoo}
}

각각 적절한 스칼라 타입으로 변환되는 여러 변수를 설정하는 예시예요:

vars {
	# boolean
	abc true

	# integer
	def 1

	# float
	ghi 2.3

	# string
	jkl "example"
}

더 알아보기 (Learn more)