jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From UBIK LOAD PACK Support <supp...@ubikloadpack.com>
Subject Re: HTTPClient4 missing filename for file uploads
Date Fri, 15 May 2015 09:55:46 GMT
AFAIU, setting name would not break existing behaviour and fix the
situation right ?


On Fri, May 15, 2015 at 11:50 AM, Andrey Pokhilko <apc4@ya.ru> 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 <apc4@ya.ru> 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 <apc4@ya.ru> 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
> >>>>
> >>>>
> >>>>
>
>


-- 

Regards
Ubik Load Pack <http://ubikloadpack.com> Team
Follow us on Twitter <http://twitter.com/ubikloadpack>


Cordialement
L'équipe Ubik Load Pack <http://ubikloadpack.com>
Suivez-nous sur Twitter <http://twitter.com/ubikloadpack>

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