taskadapter / redmine-java-api

Redmine Java API
Apache License 2.0
270 stars 163 forks source link

Avoid Transfer-encoding chunked #281

Closed albfan closed 6 years ago

albfan commented 7 years ago

redmine do not support it

resolves #280 and #278

JeP42 commented 7 years ago

Would highly appreciate if someone could merge this commit since we run into same issue...

alexeyOnGitHub commented 7 years ago

this is more of a server configuration issue than Redmine's. the server that proxies requests to Redmine (like Apache or Nginx or whatever) should support that.

can you please review this and make sure this works for both "Bare" Redmine (Which is only recommended for initial testing as I recall) as well as for production installations with Apache or (preferably) Nginx as web front hiding Redmine behind it? also, need some tests verifying this change works. then I'd be happy to merge!

albfan commented 7 years ago

@alexeyOnGitHub See https://github.com/taskadapter/redmine-java-api/issues/280#issuecomment-279244221 for details. Redmine do not support chunked transfers

Will try to add some test to verify chunked fails (as non chunked surely will always work)

alexeyOnGitHub commented 7 years ago

so, the current tests all PASS with the way code is now. can you please modify tests first to make them fail with the current code? and then check that the proposed fix fixes the issue indeed. then we can release as 3.0.1

alexeyOnGitHub commented 7 years ago

I am removing this from the next release since nobody is willing to work on this.

albfan commented 7 years ago

I reread all this. So the problem is in the lighthttpd implementation.

I need help to define a bare installation of redmine (docker would be great for integration test of bare, apache or nginx) do you see another way to do it?

As this is a third party problem, do you think redmine Java API would need a config or option to setup this behaviour or it can detect redmine web front to auto configure itself?

alexeyOnGitHub commented 7 years ago

@albfan, I sent you Redmine dev server urls by email.

about config options - I would have couple separate methods in the library, one with explicit param, and another one without it, using default value. both need to be documented (javadoc) so that it would be clear what the difference is and why use one over the other. putting magic detection in this library would be outside of its current scope.

albfan commented 7 years ago

Just rebased this on top of master. After spend several time, found that openjdk comes with needed certificates to trust our redmine server.

Now I am setup. Let me rework this

albfan commented 7 years ago

Now uploadAttachment with lenght is documented, but how to control when derived methods can use it? I will comment on commit to review it

albfan commented 6 years ago

Thanks for take the time to merge this