asis

Скриншот программы:
asis
Детали программы:
Версия: 0.2.1
Дата загрузки: 20 Feb 15
Разработчик: Dan Lecocq
Тип распространения: Бесплатная
Популярность: 17

Rating: 4.0/5 (Total Votes: 1)

ASIS является легкая утилита Python для обслуживания как есть документ (содержащие заголовки и содержание) в течение HTTP.
Когда дело доходит до модульное тестирование инструментов, извлекающих HTTP ресурсы, мы решили, что хотели бы иметь возможность легко хранить заранее определенные ответы, а затем служить им с сервера в одном процессе, как мы бежим эти тесты. Нет обезьяна исправления, нет инфраструктуры (например, кэширования прокси-сервер).
Следует отметить, что если вы хотите, чтобы захватить запросы от существующих услуг, а затем воспроизводить их, проект видеомагнитофон был портирован на нескольких языках и очень полезно.
Что такое?
Витая поставляется с функцией называется-отбывает, вдохновленный Apache. Но, кто хочет включают Витая в зависимости?
Это основано на бутылке, и, таким образом поддерживает ряд WSGI бэкэндов (в том числе и Twisted gevent), и предназначен, чтобы быть легким. AS-есть документ, в котором оба заголовки и содержание для ответа HTTP хранятся:
HTTP / 1.0 200 OK
Content-Length: 137
Content-Type: текст / HTML

& NBSP; <голова>
& NBSP; <название> Основные тестовая страница
& NBSP;
& NBSP; <тело>
& NBSP;

Привет, я тестовая страница


& NBSP;

Обратите внимание, что для этого требуется только символы новой строки для заголовков - возвращается каретки добавляется автоматически для удобства.
Установка
Очень просто:
Судо пункт установить ASIS
Или для тех, кто предпочитает от источника:
Git клон https://github.com/seomoz/asis
CD ASIS && питон setup.py Sudo установки
Использование
Вы можете запустить сервер ASIS относительно легко:
импорт ASIS
# Подавать файлы, хранящиеся в 'Foo / "на порту 8080
Сервер = asis.Server ('Foo', 8080)
server.run ()
...
server.stop ()
В качестве альтернативы, он может быть использован в контексте, менеджер образом:
импорт ASIS
импорт запросы
с asis.Server ('Foo') в качестве сервера:
& NBSP; requests.get ('HTTP: // локальный: 8080 / Foo / bar.asis')
Там также утилита командной строки для удобства включены для обслуживания ASIS файлы в качестве отдельного сервера, что особенно полезно для видя эти файлы через завиток или браузер:
# Подавать файлы из 'Foo' / порт 8080
ASIS-сервер Foo --port 8080
# То же самое, используя gevent и быть многословным
ASIS-сервер Foo --port 8080 --server gevent --verbose
наворотов
Есть несколько особенностей, вы, возможно, потребуется воспользоваться:
Content-Encoding
Если вы укажете заголовок Content-Encoding или как Gzip или выкачать, однотонные содержимое, сохраненное в файле сжимаются и передаются по проводу, что путь. В этих случаях, Вы можете оставить Content-Length, как 0, а истинная длина контента (после сжатия) будут отправлены на своем месте. Например, следующий отправляется как содержание GZIP-сжатых правильно браузере:
HTTP / 1.0 200 OK
Content-Length: 0
Content-Type: текст / обычный
Content-Encoding: GZIP
Привет мир!
Кодировка
Если включить кодировку в заголовке вашего Content-Type, то ваш контент будет интерпретироваться как UTF-8 на диске, а затем кодируется в соответствующем кодировании. Идея состоит в том, чтобы помочь процессу редактирования, так что вы не должны явно сохранить примеры их заявленной набора символов. Как изменения в Content-Encoding, заголовок Content-Length пересчитывается правильным, как только преобразование завершено.
Режимы
По умолчанию, сервер запускается на сервере gevent, и это началось в фоновом зеленой нитью, и он должен быть готов обслуживать запросы, как только бежать () возвращает.
Кроме того, сервер может быть запущен в двух других режимах, вилки и блока. Если вилка, то он будет работать сервер в отдельном процессе, и он все еще работает и как менеджер контекстного и после вызова Run (). Если выбранный блок, то он работает в блокирующем пути. Например:
# Запуск в отдельном процессе
с asis.Server ('Foo', порт = 8080, режим = "вилки"):
& NBSP; # Сделайте несколько запросов
& NBSP; ...
Примеры и тесты
В здесь несколько примеров, как есть документы, и test.py может быть запущена непосредственно, чтобы убедиться, что они правильно переведены:
./test.py
Он также дает пример того, как можно включить его в модульных тестов.
Вклад
. Вопросы, комментарии, идеи всегда приветствуются

Требования

  • Python

Похожие программы

Другие программы разработчика Dan Lecocq

reppy
reppy

11 May 15

aws-trade-in
aws-trade-in

20 Feb 15

Комментарии к asis

Комментарии не найдены
добавить комментарий
Включите картинки!