Я планирую использовать Sinatra для нового крошечного веб-сервиса (WS), который мне нужно собрать для клиента.
WS будет иметь только два метода, один из которых доступен через GET, а другой - через POST. Для метода POST клиент отправит пакет XML на WS sinatra, который проанализирует данные и выдаст ответ HTTP 200 OK или код ошибки 40x.
У меня вопрос, как мне проанализировать входящий POSTed XML-пакет в Sinatra?
Вот пример того, как будет выглядеть входящий пакет данных:
<?xml version="1.0" encoding="utf-8" ?>
<Counts>
<OccupiedCount>300</OccupiedCount>
<ReservedCount>40</ReservedCount>
<VacantCount>160</VacantCount>
<TotalCount>500</TotalCount>
<Checksum>0777d5c17d4066b82ab86dff8a46af6f</Checksum>
<Timestamp>2009-11-21T14:06:19Z</Timestamp>
<ApiKey>1234567890qwerty</ApiKey>
</Counts>
Есть ли какой-нибудь способ получить доступ к пакету данных через объект параметров Sinatra, чтобы я мог проанализировать его с помощью чего-то вроде Crack XML? Или мне нужно использовать какую-то переменную Rack, чтобы получить весь пакет данных XML, который был помещен в мой WS?