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 > >>>> > >>>> > >>>> > > -- 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>
