Thanks for your help. Concerning the problem with my dispatch class, here after my custom dispatch class I've packaged in a jar and then I've put in the ext directory. At first step, this is just a class to check that it is taken into account but it does not seem to be the case.
I've already created a Jira: https://issues.apache.org/jira/browse/KNOX-1400 If you prefer do not hesitate to close it and create a new one. public class LogsearchDispatch extends DefaultDispatch { private static Logger log = LoggerFactory.getLogger(LogsearchDispatch.class); static { log.info("Static LogsearchDispatch"); } public LogsearchDispatch() { log.info("LogsearchDispatch"); } @Override public void init() { super.init(); log.info("Init LogsearchDispatch"); } @Override public URI getDispatchUrl(HttpServletRequest request) { String base = request.getRequestURI(); log.info("base: " + base); StringBuffer str = new StringBuffer(); try { str.append(URLDecoder.decode(base, "UTF-8")); } catch (UnsupportedEncodingException e) { str.append(base); } String query = request.getQueryString(); if (query != null) { str.append('?'); str.append(query); } URI uri = URI.create(str.toString()); return uri; } } Le jeu. 26 juil. 2018 à 20:33, Dhruv Goyal <777.dh...@gmail.com> a écrit : > Yes, I will do that and share here. > > On Fri, 27 Jul 2018 at 12:01 AM, Sandeep Moré <moresand...@gmail.com> > wrote: > >> Hello Dhruv, >> >> Can you open a JIRA for this issue, let's track it and try to get it >> fixed ! >> >> >> On Thu, Jul 26, 2018 at 2:26 PM Dhruv Goyal <777.dh...@gmail.com> wrote: >> >>> Hi, >>> >>> This is the similar issue we were facing when we tried implementing >>> grafana with knox, it is encoded twice in grafana as well, I tried using >>> “PassAllHeadersNoEncodingDispatch” >>> But it didnt worked for me. We will have to write a custom dispatch >>> class. >>> >>> Regards >>> Dhruv >>> >>> On Thu, 26 Jul 2018 at 11:51 PM, Sandeep Moré <moresand...@gmail.com> >>> wrote: >>> >>>> That's weird, if Knox is not picking up the custom dispatch and picking >>>> up the XML than are you getting a ClassNotFoundException ? >>>> >>>> You can try putting the jar file under the lib directory and see if it >>>> works, I should work given all the other jars are found there. There is >>>> also a "PassAllHeadersNoEncodingDispatch" dispatch that you can try to >>>> use, I believe 0.12.0 has it, that way you don't have to write custom >>>> dispatch. >>>> >>>> Best, >>>> Sandeep >>>> >>>> On Thu, Jul 26, 2018 at 2:11 PM David Morin <morin.david....@gmail.com> >>>> wrote: >>>> >>>>> Thanks Sandeep >>>>> You're right. I have to delete the directory from deployments and >>>>> restart knox. >>>>> In fact my Xml files are well taken into account. >>>>> But my problem is more related to the fact that I face to the double >>>>> urlencode and my custom dispatch class seems to be ignored. >>>>> >>>>> >>>>> Le jeu. 26 juil. 2018 à 19:59, Sandeep Moré <moresand...@gmail.com> a >>>>> écrit : >>>>> >>>>>> Hello David, >>>>>> >>>>>> This should have worked, if you turn the debug log on you can see >>>>>> what dispatch Knox is trying to use. >>>>>> Also, if the changes are in service.xml then we need to touch the >>>>>> topology file so that Knox reloads it, I am thinking this could be an >>>>>> issue. >>>>>> If it still does not work, try clearing the deployments dir and >>>>>> restarting Knox. >>>>>> >>>>>> Best, >>>>>> Sandeep >>>>>> >>>>>> On Thu, Jul 26, 2018 at 12:25 PM David Morin < >>>>>> morin.david....@gmail.com> wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I've just read in detail the Knox dev guide. First of all, congrats >>>>>>> ! Great job for the doc ! >>>>>>> But I face to an issue with logsearch on my HDP cluster. >>>>>>> This is a HDP 2.6.5 with Knox 0.12.0 >>>>>>> I've created some XML files. These files are in PJs. >>>>>>> But I face to some 403 requests. In fact, some urls have been >>>>>>> "urlencoded" twice: >>>>>>> >>>>>>> Rewrote URL: >>>>>>> >>>>>>> http://XXX:80/gateway/default/logsearch/api/v1/service/logs/histogram?page=0&pageSize=999999999&startIndex=0&q= >>>>>>> **%3A**... >>>>>>> direction: IN >>>>>>> via implicit rule: LOGSEARCH/logsearch/inbound >>>>>>> to URL: >>>>>>> http://XXX:61888/api/v1/service/logs/histogram?q=**%253A** >>>>>>> &startIndex=0... >>>>>>> >>>>>>> Thus, we've got the string "q=%3A" replaced by "q=%253A" >>>>>>> >>>>>>> How can I resolve this issue ? >>>>>>> I've written a custom dispatch class and reference it in the >>>>>>> service.xml but my class seems to be ignored. >>>>>>> >>>>>>> <dispatch >>>>>>> classname="org.apache.hadoop.gateway.logsearch.LogsearchDispatch"/> >>>>>>> >>>>>>> I've put my Jar that contains this class in the ext directory. Thus, >>>>>>> it should be in the classpath. >>>>>>> >>>>>>> Thanks in advance >>>>>>> Regards, >>>>>>> David >>>>>>> >>>>>>>