Klient opublikowania strumień MJPEG jak HTTP POST:Jak powiedzieć Django, aby nie buforował danych HTTP POST?
POST /feed/testfeed HTTP/1.0
Content-type: multipart/x-mixed-replace; boundary=--myboundary
--myboundary
Content-length: 14179
Content-type: image/jpeg
....JFIF....
....
widzę żadnych przychodzących danych w Django w ogóle. request.read(6)
zwraca pusty ciąg znaków. Dodaję fałszywy nagłówek "treść-długość":
POST /feed/testfeed HTTP/1.0
Content-Length: -1
Content-type: multipart/x-mixed-replace; boundary=--myboundary
...
Teraz odczytuje dane z maksymalną prędkością. request.read(6)
zwraca (z całymi danymi, a nie tylko oczekiwanymi 6 bajtami) dopiero po przerwaniu połączenia.
To samo zachowanie występuje, gdy używam żądania "PUT" zamiast "POST".
Jak wyłączyć buforowanie żądania POST?
Uwaga: w naszym projekcie przełączyliśmy się na używanie oddzielnej aplikacji (przy użyciu SimpleHTTPServer) do połączeń z treścią. Dzięki temu hacki są niedostępne w witrynie Django/webserver, co upraszcza. –
Pytanie dotyczyło Django. – aaa90210