Skip to content

curl_mime_data does not change Content-Length when change data after perform #1999

@moteus

Description

@moteus

I did this

I create mime with simple text then I did perform and curl correcly send data.
After that I change data in text part but when I did perform again curl
send Content-Length for first data. If I change data without doing perform then
curl send correct Content-Length. This is my snippet on Lua, but I think
it quite easy to understand.

local easy = curl.easy()
local mime = easy:mime()

easy:setopt{
  url            = "http://127.0.0.1:7090/get";
  customrequest  = "GET";
  mimepost       = mime;
  writefunction  = function()end;
}

local part = mime:addpart()

part:data('1234567890')
easy:perform() -- here curl send Conten-Length: 136 (which is correct)

part:data('abcd')
easy:perform() -- here curl send same Conten-Length: 136 but data size is 130

I expected the following

I expected that curl send correct Content-Length

curl/libcurl version

libcurl/7.56.0 WinSSL

operating system

Windows 7 x64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions