Hi JB, I will have a look at the Karaf ProxyService if it fits the need. What I need to do is to create proxies dynamic and programmatic on runtime on special user behaviour. Some of that proxies need to choose the redirect URI by some other information about the client. So the real proxy target varies. Think about a reverse proxy that redirects to different targets based on session information. It already works using the proxy base class provided by Jetty.
Jetty Proxy depends on Jetty Client, Jetty Server, and all the external dependencies Jetty is using. I could embed Jetty Proxy to every bundle that uses it but this will increase every bundle. And I still risk that Jetty Proxy version X does not work correctly with Jetty Proxy version Y. If Jetty Proxy itself does not depend on any other Jetty package and is just a standard servlet I will check again. At least the feature verification of a feature uses jetty proxy also depends on other jetty bundles. What's the problem with adding a jetty-proxy feature to the standard distribution that adds that one jetty bundle and depends (dependency=true) on e.g. the jetty feature. I see you don't use that bundle yourself but it will prevent anyone that would like to use Karaf and jetty-proxy to align the versions. And all the ones that don't need the feature just don't need to install it (as any other). Best regards, Markus Am Mo., 10. Juni 2019 um 13:32 Uhr schrieb Jean-Baptiste Onofré <[email protected]>: > > Hi Markus, > > I'm suggesting to take a look on the Karaf http feature. It provides the > Karaf ProxyService (see http://blog.nanthrax.net/?p=830 for details). > The Karaf proxy works with any webcontainer (jetty, tomcat, undertow) > that can run in Karaf. > > If you want to use the Jetty transport proxy servlet yourself, you can > add this as private package. > > It's exactly what I do in Decanter backend: > > https://github.com/apache/karaf-decanter/blob/master/backend/kibana-6.x/src/main/java/org/apache/karaf/decanter/kibana6/Activator.java > > You can see the bundle I did, using jetty proxy servlet as private > package (it's just a servlet after all ;) ): > > https://github.com/apache/karaf-decanter/blob/master/backend/kibana-6.x/pom.xml#L53 > https://github.com/apache/karaf-decanter/blob/master/backend/kibana-6.x/pom.xml#L88 > > So, I don't think jetty-proxy should be part of the http/jetty feature. > > Regards > JB > > On 10/06/2019 10:04, Markus Rathgeb wrote: > > Hello, > > > > the Karaf distributions contains features for jetty. > > Mainly there are the jetty one in the standard feature repo and > > pax-jetty in the pax web feature repo. > > > > Both feature repos does not contain a feature that provides the > > jetty-proxy bundle. > > > > With every Karaf bump I need to modify a feature of mine for > > jetty-proxy to align the jetty version used by the Karaf distribution. > > > > Would it be possible to add that bundle to the respective features? > > Perhaps using dependency="true" so it is not installed if not needed? > > > > Best regards, > > Markus > > > > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com
