jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrey Pokhilko <a...@ya.ru>
Subject HTTPClient4 missing filename for file uploads
Date Thu, 14 May 2015 16:36:09 GMT
Hi,

I'm trying to resolve a user issue when he claims that file upload
scenario is missing "filename" parameter. When I use HTTPClient4 I get
failing file upload request:

    POST http://localhost/api/file/upload/

    POST data:
    --cJfjtjR2_380MwSzTd_SQdQfG51aS5D
    Content-Disposition: form-data; name="jtl_file";
    Content-Type: application/octet-stream
     
    <actual file content, not shown here>
    --cJfjtjR2_380MwSzTd_SQdQfG51aS5D--

While for HTTPClient3.1 I have successful request with:

POST http://localhost/api/file/upload/

POST data:
--wqkPl1L84AqGtph2Cgr79xYPJVMxntF4IJ
Content-Disposition: form-data; name="jtl_file";
*filename="011f023437.jtl.gz" *
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
 
<actual file content, not shown here>
--wqkPl1L84AqGtph2Cgr79xYPJVMxntF4IJ--


After digging into HTTPClient4 implementation I found that we're really
do not pass filename parameter to underlying http library. This is easy
to fix by changing this line:
https://github.com/apache/jmeter/blob/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java#L966

from

super(file, mimeType);

into:

super(file, file.getName(), mimeType, null);


Questions:

 1. Is that a bug? Maybe a known one? Or this is intended behavior.
 2. Should I fix this as demonstrated (if this is a bug)?

-- 
Andrey Pokhilko




Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message