Как получить экземпляр BaseHTTPRequestHandler, созданный во время обработки запроса внутри кода действия?

1

Мне нужно получить доступ к свойствам rfile и wfile экземпляра обработчика запроса. AFAIK, такой обработчик создается каркасом во время жизни запроса.

Обновление. Я обнаружил, что rfile доступен через request.environ ['wsgi.input']. Для доступа к wfile я делаю взломать дополнительную строку в источниках Paste, httpserver.py:210:

,'wsgi.output': self.wfile

Но мне интересно, есть ли лучшее решение...

  • 0
    Я имею в виду структуру Pylons.
Теги:
pylons

1 ответ

1
Лучший ответ

Лучше сделайте это http://pythonpaste.org/webob/reference.html#body-app-iter

В действии пилонов:

 f = response.body_file
 f.write('hey')

Файл response.body_file похож только на объект файла, но не на реальный поток. Для более подробной информации читайте http://www.python.org/dev/peps/pep-0333/#id22

  • 0
    Проблема в том, что мне нужно предоставить этот подобный файлу объект стороннему коду при условии, что все записанные в f данные будут немедленно переданы по соединению.
  • 0
    По стандарту wsgi вы должны передавать свои данные блоками без задержки при передаче. Вы можете написать некоторый итератор для выдачи этих блоков.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню