Spec-Zone.ru › Caddy

respond

Записывает жёстко закодированный/статический ответ клиенту.

Если тело не пустое, эта директива устанавливает заголовок Content-Type, если он ещё не установлен. Значение по умолчанию — text/plain; utf-8, если тело не является корректным JSON объектом или массивом, в противном случае оно устанавливается на application/json. Для всех других типов содержимого явно устанавливайте правильный заголовок Content-Type с помощью директивы header.

Синтаксис

respond [<matcher>] <status>|<body> [<status>] {
	body <text>
	close
}
  • <status> — код HTTP-статуса для записи.

    Если 103 (Ранние подсказки), ответ будет записан без тела, и цепочка обработчиков продолжится. (HTTP 1xx ответы информационные, а не окончательные.)

    По умолчанию: 200

  • <body> — тело ответа для записи.

  • body — альтернативный способ предоставления тела; удобно, если оно состоит из нескольких строк.

  • close — закроет соединение клиента с сервером после записи ответа.

Для уточнения, первый аргумент, не являющийся совпадением, может быть либо трёхзначным кодом статуса, либо строкой тела ответа. Если это тело, следующий аргумент может быть кодом статуса.

Отправка ответа с кодом ошибки отличается от возвращения ошибки в цепочке обработчиков, которая вызывает обработчики ошибок внутри.

Примеры

Запишите пустой статус 200 с пустым телом для всех проверок работоспособности и простое тело ответа для всех других запросов:

example.com {
	respond /health-check 200
	respond "Hello, world!"
}

Запишите ответ об ошибке и закройте соединение:

Вы можете предпочесть использовать директиву error вместо этого, которая вызывает ошибку, которую можно обработать с помощью директивы handle_errors.

example.com {
	respond /secret/* "Access denied" 403 {
		close
	}
}

Запишите HTML-ответ, используя синтаксис heredoc для управления отступами, а также установите заголовок Content-Type для соответствия телу ответа:

example.com {
	header Content-Type text/html
	respond <<HTML		<html>
			<head><title>Foo</title></head>
			<body>Foo</body>
		</html>
HTML 200
}

© 2015-2025 Matthew Holt and The Caddy Authors
Licensed under the Apache License 2.0.
Caddy is a registered trademark of Stack Holdings GmbH.
https://caddyserver.com/docs/caddyfile/directives/respond

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API