Четверг, 7 Октябрь 2010

seagull: заметки на полях

В seagull кроме багов есть тайное знание, которое без чтения кода найти не удалось. Вскроем его :)

Рассмотрим простой сценарий, который посылает DWR и ждет DWA:

<traffic>
  <send channel="channel-1">
      <command name="DWR">
          <avp name="Origin-Host" value="client.domain.com"></avp>
          <avp name="Origin-Realm" value="domain.com"></avp>
    </command>
  </send>

  <receive channel="channel-1">
    <command name="DWA">
    </command>
  </receive>

</traffic>

Это есть в примерах. А что делать если мы хотим проверять, что к нам пришел ответ от server.domain.com? В документации есть такой пример:

    <action>
      <check-value name="Origin-Host"></check-value>
    </action>

Но как им проверять значение не ясно. Тайное знание очень простое:

  <receive channel="channel-1">
    <command name="DWA">
      <avp name="Origin-Host" value="server.domain.com"></avp>
    </command>
    <action>
      <check-value name="Origin-Host" behaviour="error"></check-value>
    </action>
  </receive>

оно в том, что в секции recived мы задает эталонное значение команды, с которой и будем сравнивать. Так же атрибут behaviour можно поставить в abort. Тогда, в случае ошибки, будет посланы данные из секции abort для корректного завершения сеанса.

Написано в: 1:39 | 2 комментария | | теги: , , | постоянная ссылка |
Добавить пост в:   Delicious Reddit Slashdot Digg Technorati Google


Последние комментарии

Комментарии

Alexander Dergachev 7.10.2010 16:42

а вы не думали о чем-то вроде http://www.ixiacom.com/? или оно вам просто не нужно и seagull’а хватает?

ответить

Форма комментирования для «seagull: заметки на полях»

Обязательное поле. Не больше 30 символов.

Обязательное поле

Kirill A. Korinskiy 8.10.2010 13:27

Оно денег стоит. А мы бомжи :)

ответить