• Chris Harris's avatar
    Prevent data loss when attaching to container · f8b5bc62
    Chris Harris yazdı
    The use of buffering within httplib.HTTPResponse can cause data
    to be lost. socket.makefile() is called without a bufsize, which
    causes a buffer to be used when recieving data. The attach
    methods do a HTTP upgrade to tcp before the raw socket is using
    to stream data from the container. The problem is that if the
    container starts stream data while httplib/http.client is reading
    the response to the attach request part of the data ends will end
    up in the buffer of fileobject created within the HTTPResponse
    object. This data is lost as after the attach request data is
    read directly from the raw socket.
    Signed-off-by: 's avatarChris Harris <chris.harris@kitware.com>
    f8b5bc62
unixconn.py 3.74 KB