Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP Client 2, Implementation #104

Open
ChristianGruen opened this issue Aug 26, 2018 · 6 comments
Open

HTTP Client 2, Implementation #104

ChristianGruen opened this issue Aug 26, 2018 · 6 comments

Comments

@ChristianGruen
Copy link
Member

Based on Adam’s suggestion, #99 (comment):

With a common had implementation core in Java would be beneficial for all implementors of the spec.

@ChristianGruen
Copy link
Member Author

An update on the BaseX perspective:

We could provide a basic implementation of the spec in our core, but use the shared implementation if it is found in the classpath. This way, users could get access to current HTTP features (and, later, HTTP/2), which are not provided by the Java default implementation.

We’ll be happy to contribute code and bug fixes to the shared implementation!

@adamretter
Copy link
Member

Awesome :-)

@adamretter adamretter self-assigned this Aug 26, 2018
@ChristianGruen
Copy link
Member Author

I’m back online!

One side note regarding the HTTP Client implementation: Java 9 has improved support for HTTP Client requests. New standard libraries for both HTTP/2 and WebSockets have been added (see e.g. Introduction to the JDK HTTP Client).

BaseX is still based on Java 8, but due to the accelerated release cycle, we’ll probably switch to Java 11 in 2019 (and skip version 9 and 10). I don’t know what are the plans for eXist-db?

@adamretter
Copy link
Member

@ChristianGruen Welcome back!

I am also back (but on actual Holiday - but working).

So AFAIK the main thing for me to do is look at the Response processing stuff now...

Regards Java, eXist-db is CI tested on Java 8, 9, 10, and 11. So we can run on those platforms just fine, at the moment, our language level for development is Java 8. I feel like there are still a lot of JDK 8 installations out there, although I note that Ubuntu's default has been OpenJDK 9 for a while now. We will likely move to Java 9 language level (or so) in the next 6 - 12 months, but no immediate plans right now.

@ChristianGruen
Copy link
Member Author

Thanks! I hope your holiday hasn’t turned into completely the wrong direction…

@adamretter
Copy link
Member

So just a note to myself that when I implement, I will likely use the Apache HTTP Client. When doing so, I need to use the Asynchronous Client to workaround problems with the Synchronous Client and Jetty, see:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants