Right.

Andrey Pokhilko

On 05/15/2015 12:55 PM, UBIK LOAD PACK Support wrote:
> AFAIU, setting name would not break existing behaviour and fix the
> situation right ?
>
>
> On Fri, May 15, 2015 at 11:50 AM, Andrey Pokhilko <[email protected]> wrote:
>
>> I investigated it more. It happened that with stock httpmime-4.2.6 it
>> works, but user has upgraded HTTPComponents libraries to support custom
>> plugins. Since version 4.3 of httpmime they deprecated that constructor
>> and don't have automatic logic to set filename from file if filename is
>> null.
>>
>> This seems to be a deadlock situation for user unless we're making a
>> step towards custom plugin users and will call different super-constructor.
>>
>> Sebb, what's your opinion?
>>
>> Andrey Pokhilko
>>
>> On 05/15/2015 12:05 AM, sebb wrote:
>>> OK, it does look like a bug, but according to the source for http mime
>>> 4.2.6 if filename is null it uses file.getName() anyway, so AFAICT
>>> your proposed fix would have no effect.
>>>
>>> This needs further investigation.
>>>
>>> On 14 May 2015 at 19:00, Andrey Pokhilko <[email protected]> wrote:
>>>> Java implementation does well, providing required parameter:
>>>>
>>>>     POST http://localhost/api/file/upload/
>>>>
>>>>     POST data:
>>>>     -----------------------------7d159c1302d0y0
>>>>     Content-Disposition: form-data; name="jtl_file";
>>>>     *filename="011f07efb04762311137.jtl.gz" *
>>>>     Content-Type: application/octet-stream
>>>>     Content-Transfer-Encoding: binary
>>>>
>>>>     <actual file content, not shown here>
>>>>     -----------------------------7d159c1302d0y0--
>>>>
>>>>
>>>> Andrey Pokhilko
>>>>
>>>> On 05/14/2015 07:57 PM, sebb wrote:
>>>>> On 14 May 2015 at 17:36, Andrey Pokhilko <[email protected]> wrote:
>>>>>> 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.
>>>>> It would be useful to know what the Java implementation does.
>>>>>
>>>>>>  2. Should I fix this as demonstrated (if this is a bug)?
>>>>>>
>>>>>> --
>>>>>> Andrey Pokhilko
>>>>>>
>>>>>>
>>>>>>
>>
>

Reply via email to