Привет!
В 2009 году на «Rails Rumble» Лехом Кульвером и Крисом Ванстратом был создан замечательный инструмент — Hurl.
Hurl — это RoR приложение, предназначенное для того, чтоб посылать HTTP запросы. В целом, функциональность Hurl схожа с Curl. Идея и методы те же, но предназначение совсем другое.
К сожалению,
Итак мы подняли и улучшили Hurl на своём
Чем же мы улучшили исходный код Hurl? Во-первых, в своем форке sc-raptor поправил баг с авторизацией на GitHub, которая нивкакую не хотела работать в исходном коде. Во-вторых, korjik добавил в Hurl возможность укорачивать ссылки на Hurl с помощью bit.ly на нашем пользовательском домене qblx.co.
А теперь я подробнее опишу возможности Hurl. Основными важными деталями это приложения есть:
- Генерация HTTP запросов
- Сохранение истории запросов
- Расшаривания запроса и тела ответа отдельно
Итак, зайдя на главную страницу, не забудте залогиниться через GitHub.
После логина, вы увидите следующую картину: ваш GitHub логин авторизовал вас и дал возможность просматривать все сделанные вызовы
Далее, вы можете сделать самые простые запрсы, например к Яндекс API из статьи zviryatko. Сделаем обычный запрос:
Вот мы и получили перевод слова midnight — полночь.
Рассмотрим подробнее нижнюю часть странички:
Сейчас мы находимся на вкладке Response — Ответ. Тут мы можем увидеть ответ на сделанный нами запрос.
Нажав на Request — Запрос, мы видим запрос, который мы сделали в таком формате:
Самое интересное — ссылки "view full size" и "permalink". Зайдя по ним, вы сможете увидеть тело ответа ну и попробовать другие запросы.
Зайдя в свой «кабинет», вы найдете список выполненных вами хурлов:
Так же можно удалить то, что не нужно.
Как и где хранятся хурлы? В ruby приложении есть папка db. В ней в бинароном виде лежат «хурлы», «вьюхи» и юзеры:
$ ls -l db/hurls/ total 1028 drwxr-xr-x 48 hurl hurl 4096 2012-03-22 15:58 00 drwxr-xr-x 45 hurl hurl 4096 2012-03-22 16:46 01 drwxr-xr-x 49 hurl hurl 4096 2012-03-22 13:58 02 drwxr-xr-x 47 hurl hurl 4096 2012-03-22 14:11 03 drwxr-xr-x 44 hurl hurl 4096 2012-03-22 13:24 04 drwxr-xr-x 45 hurl hurl 4096 2012-03-23 10:38 05 drwxr-xr-x 48 hurl hurl 4096 2012-03-23 14:32 06 drwxr-xr-x 47 hurl hurl 4096 2012-03-23 08:34 07 drwxr-xr-x 50 hurl hurl 4096 2012-03-23 10:07 08 drwxr-xr-x 52 hurl hurl 4096 2012-03-21 10:45 09 drwxr-xr-x 43 hurl hurl 4096 2012-03-23 15:43 0a
Места занимается не очень много. За более чем полгода активного использования Hurl, наша команда сделала всего 152 Мб запросов:
$ du -h --max-depth=1 db/ 77M db/hurls 76M db/views 136K db/users 152M db/
Для чего вообще все это? Мы работаем над проектом, который очень активно использует API. Тестирование и написание документации заметно облегчается, если использовать Hurl. Так же, наглядные примеры для пользователей не только в Curl запросах и ответах, а и место, где вы сами наживую можете потрогать API.
В общем, Hurl явлется легким и удобным инструментом для создания и хранения HTTP запросов. Устанавливется как простейшее Rails приложение. Занимает немного места и системных ресурсов. Рекомендуем воспользоваться!
Автор: qbtarzan