Hi Markus, First, you can use the ProxyService directly to programmatically create the proxies you need.
Second about the Jetty proxy, if you take a look in Decanter, you will see that only org.eclipse.jetty.proxy is private, jetty-client, jetty-server, etc, are import packages, not private. So the size of the bundle is just few bytes. About the version, it's actually the opposite: the Jetty proxy is a pure servlet, and a version of Jetty proxy can work with other Jetty version. I don't have a proxy to extend the features (both pax and karaf ones), but I just wanted to spot that it's not a requirement right now with your need. Regards JB On 10/06/2019 13:51, Markus Rathgeb wrote: > 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 -- Jean-Baptiste Onofré [email protected] http://blog.nanthrax.net Talend - http://www.talend.com
