Bug 65310

Summary: When using httpclient4 implement to upload files, the content-type parameter cannot be set correctly.
Product: JMeter Reporter: zooltech <zooltech>
Component: HTTPAssignee: JMeter issues mailing list <issues>
Status: NEEDINFO ---    
Severity: major Keywords: FixedInTrunk
Priority: P2    
Version: 5.4.1   
Target Milestone: JMETER_5.5   
Hardware: PC   
OS: Linux   
Attachments: pic

Description zooltech 2021-05-17 10:36:53 UTC
Created attachment 37865 [details]

There is a default content-type parameter in HTTP Manager coomponent.

The upload sampler(Http Request):
    In the request header sent by java implement, the value of content-type is correct. 
    In the request header sent by httpclient4 implement, the value of content-type is the default value defined by HTTP Manager, not the correct value.

See the attachment for details.
Comment 1 Felix Schumacher 2021-05-30 12:08:19 UTC
@zooltech, could you test the next nightly or build from trunk and report back, whether it fixes this issue?

commit 7ac71f15f8b11792d394d2b1bc596a73bd901cfa
Author: Felix Schumacher <felix.schumacher@internetallee.de>
AuthorDate: Sun May 30 13:58:33 2021 +0200

    Don't let users override content-type header when using multipart/form-data
    The content-type header will contain the boundary from the multiparts. That
    value can't be guessed by the user and using the original given content-type
    will very likely be wrong.
    Apart from that reason, the Java implementation of HTTPSampler will use
    the generated content-type anyway and therefore this patch will make the
    two implementations behave consistently.
    Bugzilla Id: 65310
 .../jmeter/protocol/http/sampler/HTTPHC4Impl.java       |  6 ++++++
 .../jmeter/protocol/http/sampler/TestHTTPHC4Impl.java   | 17 +++++++++++++++++
 xdocs/changes.xml                                       |  2 ++
 3 files changed, 25 insertions(+)