El cliente es la publicación de flujo MJPEG como HTTP POST:¿Cómo decirle a Django que no almacene en búfer los datos 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....
....
no veo los datos de entrada en Django en absoluto. request.read(6)
devuelve cadena vacía. Agrego el encabezado falso "contenido-longitud":
POST /feed/testfeed HTTP/1.0
Content-Length: -1
Content-type: multipart/x-mixed-replace; boundary=--myboundary
...
Ahora lee toda la información con la velocidad máxima. request.read(6)
regresa (con toda la información, no solo los 6 bytes esperados) solo después de que interrumpo la conexión.
El mismo comportamiento ocurre cuando uso la solicitud "PUT" en lugar de "POST".
Cómo desactivar el almacenamiento en búfer de la solicitud POST?
Nota: en nuestro proyecto cambiamos a usar aplicaciones separadas (usando SimpleHTTPServer) para conexiones de contenido. Esto mantiene los piratas informáticos lejos del sitio Django/servidor web, simplificando las cosas. –
La pregunta era sobre Django. – aaa90210