<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 13 Apr 2020 at 01:34, Ivan Ristic &lt;<a href="mailto:ivan.ristic@gmail.com">ivan.ristic@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hello list,<div><br></div><div>Is there any interest in getting HTTP CONNECT over HTTP/2 to work? I spent some time on it, but although I fixed two small issues, I hit a third that was beyond my undertow knowledge. I was left feeling that getting this to work only requires a few connecting pieces, although naturally I could be wrong.</div></div></div></div></div></div></div></div></div></div></div></blockquote><div><br></div><div>It&#39;s a cool idea, but it&#39;s unlikely we will have time to look at it in the short term. If you wanted to look into it we should be able to give you some tips.</div><div><br></div><div>Stuart</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>Here&#39;s what I discovered:</div><div><br></div>- In Http2ReceiveListener, there&#39;s code that refuses requests that don&#39;t have path set (with &quot;No :path header sent in HTTP/2 request&quot;). However, path must be omitted with CONNECT per <a href="https://tools.ietf.org/html/rfc7540#page-64" target="_blank">https://tools.ietf.org/html/rfc7540#page-64</a> <br><br>- Later on, ConnectHandler doesn&#39;t expect the path to be null.</div>- The acceptConnectRequest handler from <a href="https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java" target="_blank">https://github.com/undertow-io/undertow/blob/master/core/src/main/java/io/undertow/server/handlers/ConnectHandler.java</a> is not getting called and the connection is thus not setup. This is because Http2ServerConnection#setConnectListener doesn&#39;t do anything, unlike its counterpart HttpServerConnection.<div dir="ltr"><br></div><div>For context, I was playing with the idea of building a general-purpose forward TCP proxy based on undertow. HTTP/2 is of interest here because of multiplexing, which would eliminate connection setup costs [of both TCP and TLS] between the client and proxy and substantially improve performance when many connections are needed.</div><div><br></div><div>If it matters, I used Jetty&#39;s HTTP/2 client library to connect to Undertow, although I had to patch it to not send path and scheme when method is CONNECT.</div><div dir="ltr"><div><br></div>-- <br><div dir="ltr">Ivan</div></div></div></div></div></div></div></div></div></div></div>
_______________________________________________<br>
undertow-dev mailing list<br>
<a href="mailto:undertow-dev@lists.jboss.org" target="_blank">undertow-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/undertow-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/undertow-dev</a></blockquote></div></div>