Справочник по переменным потока

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

В этом разделе представлена ​​справочная информация о переменных потока.

Apigee Edge определяет следующие переменные потока:

apigee              loadbalancing        router
apiproxy            message              servicecallout
application         messageid            system
client              organization         target
current             proxy                variable
environment         request              virtualhost
error               response
is                  route

Каждая из этих переменных описана в следующих разделах.

apigee

Вспомогательная переменная, предоставляющая информацию о времени выполнения политики.

В следующей таблице описаны свойства переменной apigee :

Свойство Тип Чтение/запись Описание Область применения начинается
apigee.metrics.policy. policy_name .timeTaken Целое число Только чтение Время в наносекундах, необходимое для выполнения политики. Политика

apiproxy

Описывает прокси API.

В следующей таблице описаны свойства переменной apiproxy :

Свойство Тип Чтение/запись Описание Область применения начинается
apiproxy.name Нить Только чтение Имя прокси-сервера API. Например, «Мой прокси». Запрос прокси
apiproxy.revision Нить Только чтение Номер версии прокси-сервера API. Например, «6». Запрос прокси

Дополнительные сведения о работе с прокси-серверами API см. в разделе Общие сведения об API и прокси-серверах API .

application

Контейнер для свойства application.basepath .

В следующей таблице описаны свойства переменной application :

Свойство Тип Чтение/запись Описание Область применения начинается
application.basepath Нить Только чтение Базовый путь развертывания (указанный во время развертывания API). Запрос прокси

client

Приложение или система, отправившая запрос на пограничный маршрутизатор.

В следующей таблице описаны свойства client переменной:

Свойство Тип Чтение/запись Описание Область применения начинается
client.cn Нить Только чтение

Общее имя, указанное в сертификате TLS/SSL, представленном клиентским приложением.

Запрос прокси
client.country Нить Только чтение

Страна в сертификате TLS/SSL, представленном клиентским приложением.

Запрос прокси
client.email.address Нить Только чтение

Адрес электронной почты в сертификате TLS/SSL, предоставленном клиентским приложением.

Запрос прокси
client.host Нить Только чтение

IP-адрес хоста HTTP, связанный с запросом, полученным ProxyEndpoint.

Запрос прокси
client.ip Нить Только чтение

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

Запрос прокси
client.locality Нить Только чтение

Местоположение (Город) в сертификате TLS/SSL, предоставленном клиентом.

Запрос прокси
client.organization Нить Только чтение Организация в сертификате TLS/SSL, предоставленном клиентом. (Не обязательно эквивалентно организации в Apigee Edge.) Запрос прокси
client.organization.unit Нить Только чтение

Организационная единица в сертификате TLS/SSL, представленная клиентом.

Запрос прокси
client.port Целое число Только чтение

HTTP-порт, связанный с исходным клиентским запросом к ProxyEndpoint.

Запрос прокси
client.received.end.time Нить Только чтение

Время, выраженное в строковой форме, когда прокси-сервер завершил получение запроса от исходного клиента в ProxyEndpoint. Например: среда, 21 августа 2013 г., 19:16:47 UTC.

Это значение времени является строковым представлением соответствующей 32-битной величины временной метки. Например, «Ср, 21 августа 2013 г., 19:16:47 UTC» соответствует значению отметки времени 1377112607413.

Запрос прокси
client.received.end.timestamp Длинный Только чтение

Значение отметки времени, указывающее, когда прокси завершил получение запроса от исходного клиента в ProxyEndpoint. Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по всемирному координированному времени (UTC).

Запрос прокси
client.received.start.time Нить Только чтение

Время, выраженное в строковой форме, когда прокси-сервер начал получать запрос от исходного клиента в ProxyEndpoint. Например: среда, 21 августа 2013 г., 19:16:47 UTC.

Это значение времени является строковым представлением соответствующей 32-битной величины временной метки. Например, «Ср, 21 августа 2013 г., 19:16:47 UTC» соответствует значению отметки времени 1377112607413.

Запрос прокси
client.received.start.timestamp Длинный Только чтение

Значение отметки времени, указывающее, когда прокси-сервер начал получать запрос от исходного клиента в ProxyEndpoint. Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по всемирному координированному времени (UTC).

Запрос прокси
client.scheme Нить Только чтение

Возвращает http или https в зависимости от транспорта, используемого клиентским приложением для отправки сообщения запроса.

Запрос прокси
client.sent.end.time Нить Только чтение

Время, выраженное в строковой форме, когда прокси-сервер завершил отправку ответа от ProxyEndpoint клиенту. Например: «Ср, 21 августа 2013 г., 19:16:47 UTC».

Это значение представляет собой строковое представление соответствующего 32-битного client.sent.end.timestamp . Например, «Ср, 21 августа 2013 г., 19:16:47 UTC» соответствует значению временной метки 1377112607413.

Постклиентский поток
client.sent.end.timestamp Длинный Только чтение Значение отметки времени, указывающее, когда ProxyEndpoint завершил возврат ответа исходному клиентскому приложению. Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по всемирному координированному времени (UTC). Постклиентский поток
client.sent.start.time Нить Только чтение Время, выраженное в строковой форме, когда ProxyEndpoint начал возвращать ответ исходному клиентскому приложению. Например, «Ср, 21 августа 2013 г., 19:16:47 UTC».

Это значение представляет собой строковое представление соответствующего 32-битного client.sent.start.timestamp . Например, «Ср, 21 августа 2013 г., 19:16:47 UTC» соответствует значению временной метки 1377112607413.

Постклиентский поток
client.sent.start.timestamp Длинный Только чтение Когда прокси-сервер начал отправлять ответ клиенту из ProxyEndpoint. Это значение выражается как 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по всемирному координированному времени. Постклиентский поток
client.ssl.enabled Нить Только чтение

«истина», если ProxyEndpoint настроен для TLS/SSL; в противном случае «ложь».

Запрос прокси
client.state Нить Только чтение

Состояние сертификата TLS/SSL, представленного клиентом.

Запрос прокси

current

Содержит информацию о текущем потоке прокси-сервера API.

В следующей таблице описаны свойства current переменной:

Свойство Тип Чтение/запись Описание Область применения начинается
current.flow.name Нить Только чтение Имя потока, который выполняется в данный момент (например, «PreFlow», «PostFlow» или имя условного потока). Запрос прокси
current.flow.description Нить Только чтение Описание текущего выполняемого потока. Это то же самое, что значение элемента <Description> в конфигурации XML потока. Запрос прокси

Вы можете просмотреть эти свойства в представлении Trace пользовательского интерфейса Edge. Однако эти свойства по умолчанию не отображаются в представлении трассировки классического пользовательского интерфейса.

environment

Контейнер для свойства environment.name .

В следующей таблице описаны свойства переменной environment :

Свойство Тип Чтение/запись Описание Область применения начинается
environment.name Нить Только чтение Имя среды, в которой выполнялась транзакция. Запрос прокси

error

Контекстный объект, представляющий сообщение об ошибке в потоке ошибок .

В следующей таблице описаны свойства переменной error :

Свойство Тип Чтение/запись Описание Область применения начинается
error message Чтение/запись Ошибка типа message , которая является контекстным объектом в потоке ошибок. Ошибка
error.content Нить Чтение/запись Содержание ошибки. Ошибка
error.message Нить Только чтение

Сообщение, связанное с ошибкой, значение которого доступно только до выполнения потока ошибок.

Ошибка
error.status.code Целое число Только чтение

Код состояния HTTP, связанный с ошибкой. Например, «400».

Ошибка
error.reason.phrase Нить Только чтение

Фраза причины, связанная с ошибкой. Например: «Неверный запрос».

Ошибка
error.transport.message ТранспортСообщение Только чтение

Любая ошибка типа TransportMessage.

Ошибка
error.state Целое число Только чтение

Состояние в потоке, где произошла ошибка.

Ошибка
error.header. header_name Нить Чтение/запись

Получите или установите заголовок ответа.

Ошибка

fault

Переменная потока, которой присваивается код ошибки времени выполнения, когда политика выдает ошибку. Значения кодов ошибок индивидуальны для каждой политики.

Свойство Тип Чтение/запись Описание Область применения начинается
fault. fault_name Нить Только чтение fault_name — это имя ошибки, как описано в таблице ошибок времени выполнения, включенной в каждый раздел справочника по политике . Ошибка

is

Контейнер для свойства is.error .

В следующей таблице описаны свойства переменной is :

Свойство Тип Чтение/запись Описание Область применения начинается
is.error логическое значение Только чтение

Флаг ошибки.

Запрос прокси

loadbalancing

Предоставляет информацию о состоянии балансировки нагрузки TargetEndpoint.

В следующей таблице описаны свойства переменной loadbalancing :

Свойство Тип Чтение/запись Описание Область применения начинается
loadbalancing.failedservers Массив строк Только чтение

Список неудачных TargetServers во время балансировки нагрузки в TargetEndpoint.

Целевой ответ
loadbalancing.isfallback логическое значение Только чтение

«true», если для TargetServer, вызываемого во время балансировки нагрузки в TargetEndpoint, включен резервный вариант.

Целевой ответ
loadbalancing.targetserver Нить Только чтение

TargetServer вызывается во время балансировки нагрузки в TargetEndpoint. Устанавливается только в том случае, если элемент <Path> задан при определении элемента балансировки нагрузки.

Целевой ответ

message

Контекстный объект с тем же значением, что и request в потоке запросов, или response в потоке ответов, или error в потоке ошибок.

В следующей таблице описаны свойства переменной message :

Свойство Тип Чтение/запись Описание Область применения начинается
message message Чтение/запись

Контекстный объект с тем же значением, что и request в потоке запросов, или response в потоке ответов, или error в потоке ошибок.

Запрос прокси
message.content Нить Чтение/запись

Содержимое запроса, ответа или сообщения об ошибке.

Запрос прокси
message.formparam. param_name Нить Чтение/запись

Значение указанного параметра формы.

Запрос прокси
message.formparam. param_name .
values
Коллекция Только чтение

Все значения указанного параметра формы в сообщении.

Запрос прокси
message.formparam. param_name .
values.count
Целое число Только чтение

Подсчет значений указанных параметров формы в сообщении./p>

Запрос прокси
message.formparams.count Целое число Только чтение

Количество всех параметров формы в сообщении.

Запрос прокси
message.formparams.names Коллекция Только чтение

Значение всех параметров формы в сообщении.

Запрос прокси
message.formstring Нить Только чтение

Значение строки формы в сообщении.

Запрос прокси
message.header. header_name Нить Чтение/запись

Получает или задает значение указанного заголовка HTTP в сообщении. Если в заголовке есть запятая, то при прочтении вы получите только часть текста до первой запятой. Если вам нужен весь заголовок, используйте форму request.header. header_name .
values

Запрос прокси
message.header. header_name . N Нить Чтение/запись

Значение N-го конкретного значения заголовка в сообщении (запрос или ответ), в зависимости от состояния потока. Apigee Edge разделяет текстовые значения заголовка запятыми. Обратите внимание, что индекс, значение которого используется для N, отсчитывается от 1, а не от 0.

Например: если заголовок Cache-control — «public,maxage=16544», то возвращаемое значение message.header.cache-control.1 — «maxage=16544».

Запрос прокси
message.header. header_name .
values
Коллекция Только чтение

Все значения указанного имени HTTP-заголовка в сообщении.

Запрос прокси
message.header. header_name .
values.count
Целое число Только чтение

Подсчет значений указанного имени HTTP-заголовка в сообщении.

Запрос прокси
message.headers.count Целое число Только чтение

Количество всех HTTP-заголовков в сообщении.

Запрос прокси
message.headers.names Коллекция Только чтение

Значение всех HTTP-заголовков в сообщении

Запрос прокси
message.path Нить Чтение/запись

Полный путь сообщения запроса в URL-адресе, исключая любые параметры запроса.

Запрос прокси
message.queryparam. param_name Нить Только чтение

Возвращает указанный параметр запроса сообщения.

Запрос прокси
message.queryparam. param_name . N Нить Чтение/запись

Значение N-го параметра запроса в сообщении. Например, если request.querystring равна «a=hello&a=world», то возвращаемым значением message.queryparam.a.1 будет «привет».

В качестве примера записи нескольких значений для одного имени параметра запроса, например «type=siteid:1&type=language:us-en&type=currency:USD», установите следующее:

  • message.queryparam.type.1 на «siteid:1»
  • message.queryparam.type.2 на «язык: en-us»
  • message.queryparam.type.3 в «валюта: доллар США»
Запрос прокси
message.queryparam. param_name .
values
Коллекция Только чтение

Все значения определенного параметра запроса в сообщении, отформатированные в виде списка, разделенного запятыми.

Например, если строка запроса — a=hello&a=world , то значение message.queryparam.a.values ​​— «['hello', 'world']».

Запрос прокси
message.queryparam. param_name .
values.count
Целое число Только чтение

Общее количество указанного параметра запроса, связанного с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Запрос прокси
message.queryparams.count Целое число Только чтение

Общее количество всех параметров запроса, связанных с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Запрос прокси
message.queryparams.names Коллекция Только чтение

Список всех имен параметров запроса, связанных с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Чтобы перебрать имена параметров запроса с помощью JavaScript, см. следующую публикацию сообщества Apigee: Как перебирать коллекцию из «request.queryparams.names» в JS? в сообществе Apigee .

Запрос прокси
message.querystring Нить Только чтение

Строка, содержащая все имена и значения параметров запроса, связанные с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Например, для запроса «http://api.apifactory.com/inventors?name=nick&surname=danger» значением message.querystring является «name=nick&surname=danger».

Запрос прокси
message.reason.phrase Нить Только чтение

ReasonPhrase ответного сообщения от цели.

Целевой ответ
message.status.code Целое число Только чтение

Код состояния HTTP ответного сообщения от цели.

Целевой ответ
message.transport.message ТранспортСообщение Только чтение

Сообщение типа TransportMessage, которое является контекстным объектом.

Запрос прокси
message.uri Нить Только чтение

Полный путь URI (после URL-адреса домена), включая параметры запроса.

Например, для запроса «http://api.apifactory.com/inventors?name=nikola&surname=tesla» эта переменная возвращает «inventors?name=nikola&surname=tesla».

Запрос прокси
message.verb Нить Только чтение

HTTP-глагол ( GET , PUT , POST , DELETE и т. д.), связанный с запросом.

Запрос прокси
message.version Нить Чтение/запись

Версия HTTP, связанная с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Запрос прокси

Дополнительные сведения о сообщениях см. в разделе Справочник по функциям шаблона сообщений .

messageid

Контейнер для глобального уникального идентификатора запроса.

В следующей таблице описаны свойства переменной messageid :

Свойство Тип Чтение/запись Описание Область применения начинается
messageid Нить Только чтение

Содержит глобальный уникальный идентификатор запроса, который включает имя хоста маршрутизатора. Этот идентификатор позволяет отслеживать запросы, полученные на маршрутизаторе, после их отправки в процессор сообщений.

Этот идентификатор регистрируется в журналах ошибок Edge, чтобы сопоставить messageid с ошибками.

Запрос прокси

organization

Контейнер для свойства organization.name .

В следующей таблице описаны свойства organization переменной:

Свойство Тип Чтение/запись Описание Область применения начинается
organization.name Нить Только чтение

Название организации.

Запрос прокси

Дополнительные сведения об организациях см. в разделе Понимание организаций .

proxy

Конфигурация прокси API.

В следующей таблице описаны свойства proxy переменной:

Свойство Тип Чтение/запись Описание Область применения начинается
proxy.basepath Нить Только чтение

Значение базового пути в конфигурации прокси-сервера API. Базовый путь — это фрагмент URI, следующий за хостом в URL-адресе. URI условного потока следуют по базовому пути.

В URL-адресе « http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282 »:

  • Хост — «myorg-test.apigee.net» (который включает название организации и среду).
  • Базовый путь: «/v2/weatherapi».

Единственный способ узнать это — просмотреть определение прокси-сервера API или проверить значение переменной proxy.basepath. Суффикс пути прокси-сервера следует за базовым путем («/forecastrss») вместе со всеми параметрами запроса.

Если вы определяете динамический базовый путь в конфигурации прокси-сервера API, например «/v2/*/weatherapi», тогда для этой переменной устанавливается динамический путь («/v2/*/weatherapi»), даже если базовый путь разрешает к статическому значению, например «/v2/foo/weatherapi».

Запрос прокси
proxy.client.ip Нить Только чтение

Адрес X-Forwarded-For входящего вызова, который представляет собой IP-адрес Edge, полученный в результате последнего внешнего TCP-квитирования. Это может быть вызывающий клиент или балансировщик нагрузки.

Запрос прокси
proxy.name Нить Только чтение

Атрибут имени, настроенный для ProxyEndpoint.

Запрос прокси
proxy.pathsuffix Нить Только чтение

Значение суффикса базового пути прокси-сервера API, отправленного от клиента и полученного в ProxyEndpoint.

Базовый путь определяется как компонент пути, который уникально идентифицирует прокси-сервер API. Общедоступный URL-адрес прокси-сервера API состоит из названия вашей организации, среды, в которой развернут прокси-сервер, базового пути, суффикса базового пути и любых параметров запроса.

Например, в запросе к http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282 суффикс базового пути — «/forecastrss».

Запрос прокси
proxy.url Нить Только чтение

Получает полный URL-адрес, связанный с запросом прокси-сервера, полученным ProxyEndpoint, включая все имеющиеся параметры запроса. Хостом URL-адреса всегда будет localhost если прокси-сервер вызывается с помощью <LocalTargetConnection> для выполнения цепочки прокси-серверов .

Пример создания URL-адреса request с использованием исходного хоста см. в разделе Сообщения запроса доступа .

Запрос прокси

Дополнительные сведения о работе с прокси-серверами API см. в разделе Общие сведения об API и прокси-серверах API .

request

Полный запрос, включая любую присутствующую полезную нагрузку.

Дополнительные сведения о данных запроса см. в разделе Как данные запроса передаются на внутренний сервер?

В следующей таблице описаны свойства переменной request :

Свойство Тип Чтение/запись Описание Область применения начинается
request message Только чтение

Полный запрос, включая любую присутствующую полезную нагрузку.

Запрос прокси
request.content Нить Чтение/запись

Получает или задает полезные данные сообщения запроса.

Запрос прокси
request.formparam. param_name Нить Чтение/запись

Получает или задает значение указанного параметра формы в запросе, отправленном из клиентского приложения.

Запрос прокси
request.formparam. param_name .
values
Коллекция Только чтение

Все значения определенного параметра формы в запросе, отформатированные в виде списка, разделенного запятыми.

Например, если полезные данные имеют вид «a=hello&x=greeting&a=world», то значением request.formparam.a.values ​​будет «['hello', 'world']».

Запрос прокси
request.formparam. param_name .
values.count
Целое число Только чтение

Подсчет всех значений указанного параметра формы, связанного с запросом.

Запрос прокси
request.formparam. param_name . N Нить Чтение/запись

Значение N-го конкретного параметра формы в сообщении. Например, если строка формы — «a=hello&a=world», то возвращаемым значением request.formparam.a.1 будет «hello».

Запрос прокси
request.formparams.count Целое число Только чтение

Подсчет всех параметров формы, связанных с запросом, отправленным из клиентского приложения.

Запрос прокси
request.formparams.names Коллекция Только чтение

Список всех имен параметров формы, связанных с запросом.

Запрос прокси
request.formstring Нить Только чтение

Полный formparam в запросе, отправленном из клиентского приложения.

Например, «name=test&type=first&group=A».

Запрос прокси
request.header. header_name Нить Чтение/запись

Получает или задает значение определенного заголовка, найденного в запросе. Если в заголовке есть запятая, то при прочтении вы получите только часть текста до первой запятой.

Если вам нужен весь заголовок, используйте форму request.header. header_name .values .

Запрос прокси
request.header. header_name . N Нить Чтение/запись

Значение N-го конкретного значения заголовка в запросе. Apigee Edge разделяет текстовые значения заголовка запятыми. Обратите внимание, что индекс, значение которого используется для N, отсчитывается от 1, а не от 0.

Например, если заголовок Cache-control имеет значение «public, maxage=16544», то возвращаемое значение request.header.cache-control.1 — «maxage=16544».

Запрос прокси
request.header. header_name .
values
Коллекция Только чтение

Все значения определенного заголовка в запросе.

Запрос прокси
request.header. header_name .
values.count
Целое число Только чтение

Подсчет всех значений определенного заголовка в запросе.

Запрос прокси
request.headers.count Целое число Только чтение

Подсчет всех заголовков в запросе.

Запрос прокси
request.headers.names Коллекция Только чтение

Имена всех заголовков в запросе.

Запрос прокси
request.path Нить Только чтение

Путь ресурса без проксирования (не включая хост) к серверной службе, исключая параметры запроса.

Например, если URI внутренней службы — «https://example.com/rest/api/latest», то значением request.path будет «/rest/api/latest».

Запрос прокси
request.queryparam. param_name Нить Чтение/запись

Значение определенного параметра запроса, найденного в запросе.

Запрос прокси
request.queryparam. param_name . N Нить Чтение/запись

Значение N-го параметра запроса в запросе.

Например, если request.querystring — «a=hello&a=world», то возвращаемое значение request.queryparam.a.1 — «привет».

В качестве примера записи нескольких значений для одного имени параметра запроса, например «type=siteid:1&type=language:us-en&type=currency:USD», установите следующее:

  • request.queryparam.type.1 на «siteid:1»
  • request.queryparam.type.2 на «язык: en-us»
  • request.queryparam.type.3 в «валюта: доллар США»
Запрос прокси
request.queryparam. param_name .
values
Коллекция Только чтение

Все значения определенного параметра запроса в запросе, отформатированные в виде списка, разделенного запятыми.

Например, если request.querystring имеет значение «a=hello&b=lovely&a=world», то значение request.queryparam.a.values ​​равно «['hello', 'world']».

Запрос прокси
request.queryparam. param_name .
values.count
Целое число Только чтение

Количество всех значений определенного параметра запроса в запросе.

Запрос прокси
request.queryparams.count Целое число Только чтение

Количество всех параметров запроса в запросе.

Запрос прокси
request.queryparams.names Коллекция Только чтение

Имена всех параметров запроса в запросе.

Чтобы перебрать имена параметров запроса с помощью JavaScript, см. раздел Как перебирать коллекцию из «request.queryparams.names» в JS? в сообществе Apigee .

Запрос прокси
request.querystring Нить Только чтение

Полный список параметров запроса в запросе, отправленном из клиентского приложения.

Например, если запрос имеет вид «http://host.com/123?name=first&surname= Second&place=address», то эта переменная возвращает «name=first&surname= Second&place=address».

Запрос прокси
request.transportid Нить Только чтение

Идентификатор запроса типа TransportMessage, который является контекстным объектом.

Запрос прокси
request.transport.message Транспорт-Сообщение Только чтение

Запрос типа TransportMessage, который является контекстным объектом.

Запрос прокси
request.uri Нить Только чтение

В прокси-сервере API прокси-сервер <BasePath> в ProxyEndpoint (в дополнение к базовому URL-адресу прокси-сервера) сопоставляется с URL-адресом целевой службы в TargetEndpoint. Например:

<ProxyEndpoint>
...
<BasePath>/my-mock-proxy</BasePath>

Указывает на

<TargetEndpoint>
...
<HTTPTargetConnection>
http://mocktarget.apigee.net
</HTTPTargetConnection>

В запросе request.uri — это базовый путь прокси + оставшаяся часть адреса, включая параметры запроса.

В ответе request.uri — это оставшаяся часть адреса, включая параметры запроса, после HTTPTargetConnection.

Разница в том, что исходный запрос поступил на прокси-сервер, но затем прокси-сервер отправляет другой запрос целевой службе.

Допустим, к нашему образцу прокси-сервера, базовый путь которого имеет «/my-mock-proxy», выполняется следующий вызов:

http://my_org-test.apigee.net/my-mock-proxy/ user?user=Dude

И прокси вызывает:

http://mocktarget.apigee.net

При этом к этому URL-адресу добавляется «/user?user=Dude».

  • Запрос: request.uri = "/my-mock-proxy/user?user=Чувак"
  • Ответ: request.uri = "/user?user=Чувак"
Запрос прокси (отличается ответом)
request.url Нить Только чтение

Полный URL-адрес запроса, отправленного к целевой конечной точке, включая параметры строки запроса, но не включая номер порта (если он указан).

Например, если вы вызываете образец прокси-сервера «http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude», а целевой конечной точкой является «http://example. com:8080", то значение будет:

  • Запрос: нет данных
  • Ответ: «http://example.com/user?user=Чувак»
Целевой ответ
request.verb Нить Только чтение

HTTP-глагол, используемый для запроса. Например, «ПОЛУЧИТЬ», «ПОСТАВИТЬ» и «УДАЛИТЬ».

Запрос прокси
request.version Нить Только чтение

HTTP-версия запроса. Например, «1,1».

Запрос прокси

response

Полный ответ, включая любую присутствующую полезную нагрузку.

В следующей таблице описаны свойства переменной response :

Свойство Тип Чтение/запись Описание Область применения начинается
response message Чтение/запись

Полное ответное сообщение, возвращенное целью.

Целевой ответ
response.content Нить Чтение/запись

Содержимое полезной нагрузки ответного сообщения, возвращаемого целью.

Целевой ответ
response.formparam. param_name Нить Чтение/запись

Значение параметра формы в ответе.

Целевой ответ
response.formparam. param_name .
values.count
Целое число Только чтение

Подсчет всех значений указанного параметра формы в ответе.

Целевой ответ
response.formparams.count Целое число Только чтение

Подсчет всех параметров формы в ответе.

Целевой ответ
response.formparams.names Коллекция Только чтение

Имена всех параметров формы в ответе.

Целевой ответ
response.header. header_name Нить Чтение/запись

Получает или задает значение указанного заголовка HTTP в ответе.

Если текст заголовка содержит запятую, Apigee Edge выводит несколько значений. В данном случае response.header. header_name возвращает только первое значение.

Чтобы прочитать весь заголовок, используйте форму response.header. header_name .values .

Целевой ответ
response.header. header_name .
values
Коллекция Только чтение

Все значения указанного HTTP-заголовка в ответе.

Целевой ответ
response.header. header_name .
values.count
Целое число Только чтение

Подсчет всех значений указанного HTTP-заголовка в ответе.

Целевой ответ
response.header. header_name . N Нить Чтение/запись

Значение N-го конкретного значения заголовка в ответе. Apigee Edge разделяет текстовые значения заголовка запятыми. Обратите внимание, что индекс, значение которого используется для N, отсчитывается от 1, а не от 0.

Например, если заголовок Cache-control имеет значение «public, maxage=16544», то response.header.cache-control.1 возвращает «maxage=16544».

Целевой ответ
response.headers.count Целое число Только чтение

Подсчет всех заголовков в ответе.

Целевой ответ
response.headers.names Коллекция Только чтение

Имена всех заголовков в ответе.

Целевой ответ
response.reason.phrase Нить Чтение/запись

Фраза причины ответа для конкретного запроса.

Целевой ответ
response.status.code Целое число Чтение/запись

Код ответа, возвращенный для запроса. Вы можете использовать эту переменную для переопределения кода состояния ответа, который хранится в message.status.code . Подробнее смотрите message .

Целевой ответ
response.transport.message Нить Только чтение

Ответ типа TransportMessage, который является контекстным объектом.

Целевой ответ

route

Указывает имена <RouteRule> и TargetEndpoint.

В следующей таблице описаны свойства переменной route :

Свойство Тип Чтение/запись Описание Область применения начинается
route.name Нить Только чтение

Имя <RouteRule> , которое было выполнено в ProxyEndpoint. Например, «по умолчанию». RouteRule ссылается на прокси-сервер API TargetEndpoint для выполнения.

Целевой запрос
route.target Нить Только чтение

Имя выполненной TargetEndpoint. Например, «по умолчанию».

Целевой запрос

router

Контейнер для свойства router.uuid , которое устарело.

В следующей таблице описаны свойства переменной router :

Свойство Тип Чтение/запись Описание Область применения начинается
router.uuid Нить Только чтение

Устарело и возвращает ноль. (Ранее UUID маршрутизатора, обрабатывающего прокси.)

Запрос прокси

servicecallout

Описывает TargetEndpoint для политики ServiceCallout .

В следующей таблице описаны свойства переменной servicecallout :

Свойство Тип Чтение/запись Описание Область применения начинается
servicecallout. policy_name .expectedcn Нить Чтение/запись

Ожидаемое общее имя TargetEndpoint, указанное в политике политики ServiceCallout . Это имеет смысл только в том случае, если TargetEndpoint ссылается на конечную точку TLS/SSL.

Запрос прокси
servicecallout. policy_name .target.url Нить Чтение/запись

URL-адрес TargetEndpoint для конкретной политики ServiceCallout .

Запрос прокси
servicecallout.requesturi Нить Чтение/запись

URI TargetEndpoint для политики политики ServiceCallout . URI — это URL-адрес TargetEndpoint без указания протокола и домена.

Запрос прокси

system

Указывает IP-адрес системы, а также сведения о прокси.

В следующей таблице описаны свойства system переменной:

Свойство Тип Чтение/запись Описание Область применения начинается
system.interface. interface_name Нить Только чтение

IP-адрес системы.

Запрос прокси
system.pod.name Нить Только чтение

Имя модуля, в котором работает прокси.

Запрос прокси
system.region.name Нить Только чтение

Имя региона центра обработки данных, где работает прокси.

Запрос прокси
system.time Нить Только чтение

Время чтения этой переменной. Например, «Ср, 21 августа 2013 г., 19:16:47 UTC».

Это значение является строковым представлением соответствующего значения system.timestamp . Например, «Ср, 21 августа 2013 г., 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Запрос прокси
system.time.year Целое число Только чтение

Годовая часть system.time .

Запрос прокси
system.time.month Целое число Только чтение

Месячная часть system.time .

Запрос прокси
system.time.day Целое число Только чтение

Часть дня месяца в system.time .

Запрос прокси
system.time.dayofweek Целое число Только чтение

Часть дня недели system.time .

Запрос прокси
system.time.hour Целое число Только чтение

Часовая часть system.time .

Запрос прокси
system.time.minute Целое число Только чтение

Минутная часть system.time .

Запрос прокси
system.time.second Целое число Только чтение

Вторая часть system.time .

Запрос прокси
system.time.millisecond Целое число Только чтение

Миллисекундная часть system.time .

Запрос прокси
system.time.zone Нить Только чтение

Часовой пояс системы.

Запрос прокси
system.timestamp Длинный Только чтение

64-битное (длинное) целое число, представляющее время чтения этой переменной. Значение представляет собой количество миллисекунд, прошедших с полуночи 1 января 1970 года по всемирному координированному времени. Например, «1534783015000».

Запрос прокси
system.uuid Нить Только чтение

UUID процессора сообщений, обрабатывающего прокси.

Запрос прокси

target

Описывает цель запроса.

В следующей таблице описаны свойства target переменной:

Свойство Тип Чтение/запись Описание Область применения начинается
target.basepath Нить Только чтение

Путь ресурса (не включая домен) к целевой службе, за исключением параметров запроса, который определен в TargetEndpoint прокси.

Например, скажем, прокси-сервер API вызывает следующую цель:

<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net/user?user=Dude</URL>
</HTTPTargetConnection>

В этом примере target.basepath — «/user».

Если бы цель была такой:

<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net</URL>
</HTTPTargetConnection>

target.basepath будет нулевым.

Целевой запрос
target.copy.pathsuffix логическое значение Чтение/запись

Если установлено значение «истина», запрос, пересылаемый из ProxyEndpoint в TargetEndpoint, сохраняет суффикс пути (фрагмент пути URI, следующий за URI, определенным в базовом пути ProxyEndpoint).

Целевой запрос
target.copy.queryparams логическое значение Чтение/запись

Если установлено значение «истина», запрос, пересылаемый из ProxyEndpoint в TargetEndpoint, сохраняет параметры запроса.

Целевой запрос
target.country Нить Только чтение

Страна сертификата TLS/SSL, представленного целевым сервером

Целевой ответ
target.cn Нить Только чтение

Общее имя TargetEndpoint. Это имеет смысл только в том случае, если TargetEndpoint ссылается на конечную точку TLS/SSL.

Целевой запрос
target.email.address Нить Только чтение

Адрес электронной почты сертификата TLS/SSL, предоставленного целевым сервером.

Целевой ответ
target.expectedcn Нить Чтение/запись

Ожидаемое общее имя TargetEndpoint. Это имеет смысл только в том случае, если TargetEndpoint ссылается на конечную точку TLS/SSL.

Запрос прокси
target.host Нить Только чтение

Доменное имя целевой службы, возвращающей ответ прокси-серверу API.

Целевой ответ
target.ip Нить Только чтение

IP-адрес целевой службы, возвращающей ответ прокси-серверу API.

Целевой ответ
target.locality Нить Только чтение

Местоположение (город) сертификата TLS/SSL, представленного целевым сервером

Целевой ответ
target.name Нить Только чтение

Цель, до которой доходит сообщение из целевой конечной точки.

Целевой запрос
target.organization Нить Только чтение

Организация сертификата TLS/SSL, представленного целевым сервером.

Целевой ответ
target.organization.unit Нить Читать только

Организация сертификата TLS/SSL, представленного целевым сервером.

Целевой ответ
target.port Целое число Читать только

Номер порта целевой службы возвращает ответ на прокси API.

Целевой ответ
target.received.end.time Нить Читать только

Время, выраженное в строковой форме, в которой TargetendPoint закончила получение ответа от цели. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413» ..

Целевой ответ
target.received.end.
timestamp
Длинный Читать только

Значение временной метки, указывающее, когда целевая точка закончила получение ответа от цели. Например, "1534783015000". Это значение представляет собой 64-разрядное (длинное) целое число, указывающее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой ответ
target.received.start.time Нить Читать только

Время, выраженное в строковой форме, в которой TargetendPoint начал получать ответ от цели. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Целевой ответ
target.received.start.
timestamp
Длинный Читать только

Значение временной метки, указывающее, когда TargetendPoint начал получать ответ от цели. Например, "1534783015000". Это значение представляет собой 64-разрядное (длинное) целое число, указывающее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой ответ
target.scheme Нить Читать только

Применение начинается : целевой ответ
Тип : строка
Разрешение : читать/записать

Возвращает HTTP или HTTPS в зависимости от сообщения запроса.

Целевой запрос
target.sent.end.time Нить Читать только

Время, выраженное в строковой форме, в которой прокси перестал отправлять запрос на URL, указанный в TargetendPoint. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Целевой запрос
target.sent.end.timestamp Длинный Читать только

Значение временной метки, указывающее, когда прокси завершил отправку запроса на URL -адрес, указанный в TargetendPoint. Например, "1377112607413". Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой запрос
target.sent.start.time Нить Читать только

Время, выраженное в строковой форме, в которой прокси начал отправлять запрос на URL -адрес, указанный в TargetEndPoint. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Целевой запрос
target.sent.start.timestamp Длинный Читать только

Значение временной метки, указывающее, когда прокси начал отправлять запрос на URL -адрес, указанный в TargetendPoint. Например, "1534783015000". Это значение представляет собой 64-разрядное (длинное) целое число, указывающее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой запрос
target.ssl.enabled логическое значение Читать только

Будет ли TargetendPoint работает на TLS/SSL.

Прокси -запрос
target.state Нить Читать только

Состояние сертификата TLS/SSL, представленное целевым сервером.

Целевой ответ
target.url Нить Читать/написать

URL -адрес, настроенный в файле XML -файла TargetendPoint или динамического целевого URL (если target.url установлен во время потока сообщений). Переменная не включает никаких дополнительных элементов пути или параметров запроса. Возвращает NULL, если вызывает из прицела или иным образом не отрежено.

Целевой запрос

variable

Контейнер для variable.expectedcn .

В следующей таблице описываются свойства variable переменной:

Свойство Тип Читать/написать Описание Применение начинается
variable.expectedcn Нить Читать/написать

Переменная, обнаруженная для общего имени, если оно работает на TLS/SSL.

Прокси -запрос

Для получения дополнительной информации о работе с TLS см. Введение TLS/SSL .

virtualhost

Указывает подробности о виртуальном хосте.

В следующей таблице описываются свойства переменной virtualhost :

Свойство Тип Читать/написать Описание Применение начинается
virtualhost.aliases.values Массив струн Читать только

Псевдонимы хоста виртуального хоста, который пострадает во время конкретного запроса.

Прокси -запрос
virtualhost.name Нить Читать только

Имя виртуального хоста, который обслуживает исходящий запрос клиента.

Прокси -запрос
virtualhost.ssl.enabled логическое значение Читать только

Возвращает «true», если TLS/SSL включен в конфигурацию виртуального хоста.

Прокси -запрос

Для получения дополнительной информации о работе с виртуальными хостами см. Настройку виртуальных хостов .