2009-02-23 16 views
5

Czekam na wsparcie HTTP/1.1 Byte serving w WSGI serwera/wniosku:WSGI bajt waha służąc

  • wznowienie częściowych pobrań
  • wieloczęściowych pobrań
  • lepiej strumieniowe

WSGI PEP 333 wspomina serwer WSGI może zaimplementować obsługę podawania bajtów (od RFC 2616 sekcja 14.35.2 definiuje zasięg przyjęcia/zakres/odpowiedź zakresu treści/żądanie/odpowiedź h eaders) i aplikacja powinna realizować go, jeśli zapowiada możliwość:

Serwer może transmitować zakresy bajt odpowiedzi aplikacji, jeżeli żądanej przez klienta, a aplikacja nie natywnie wspierać zakresów bajtów. Znowu jednak aplikacja powinna sama wykonać tę funkcję, jeśli jest taka potrzeba.

Zrobiłem trochę Googling, ale znalazłem mało informacji, które z dostępnych serwerów WSGI/middleware/aplikacje implementują Byte-Ranges? Czy ktoś ma doświadczenie w tej dziedzinie i może wskazać mi miejsce do dalszego kopania?

EDYCJA: Czy ktoś może komentować, w jaki sposób mogę poprawić pytanie, aby znaleźć odpowiedź?

+0

Jeśli nie masz szczęścia tutaj, spróbuj http://mail.python.org/mailman/listinfo/web-sig. Osobiście nie czuję pasma bajtów i wsgi pasują do siebie. – Constantin

+0

Zrobi. Przygotowałem nawet post w moich wersjach roboczych, które czekają dzień lub dwa, aby sprawdzić, czy jest tu jakakolwiek odpowiedź. – myroslav

Odpowiedz

3

Myślę, że webob może załatwić sprawę, zobacz koniec file example dla implementacji żądania zasięgu, która skutecznie poszukuje pliku, który jest obsługiwany.

0

Wystarczy użyć WebOb i utworzyć odpowiedź jako Response(conditional_request=True) lub subclass the WebOb Response object domyślnie ustawiając conditional_request=True.

Gdy conditional_request=True i żądanie dotyczy zakresu, WebOb Response.app_iter_range zawija kompletną odpowiedź, aby zwrócić tylko żądany zakres.

Urządzenie WebOb file serving example pokazuje sposób wdrożenia własnego app_iter_range w przypadkach, w których praktyczne jest uzyskanie zakresu bajtów bez generowania całej odpowiedzi.