<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Hello, everyone.</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
I have this C++ server app I'm hosting on my computer (<a href="https://github.com/DragonOsman/currency_converter" title="https://github.com/DragonOsman/currency_converter">source code on GitHub</a> -- I'm using Google Maps as a GUI, and it's basically a currency
 converter app).  I was recently having SSL issues on it, but after sorting them out I have another issue: this error came up:<br>
</div>
<blockquote itemscope="" itemtype="https://schemas.microsoft.com/QuotedText" style="border-left: 3px solid rgb(200, 200, 200); border-top-color: rgb(200, 200, 200); border-right-color: rgb(200, 200, 200); border-bottom-color: rgb(200, 200, 200); padding-left: 1ex; margin-left: 0.8ex; color: rgb(102, 102, 102);">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="color:rgb(185, 187, 190);font-family:Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;font-size:14px;text-align:left;background-color:rgb(47, 49, 54);display:inline !important">Lines
 625 and 626:</span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
<span style="color:rgb(185, 187, 190);font-family:Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;font-size:14px;text-align:left;background-color:rgb(47, 49, 54);display:inline !important">handshake:
 unsupported protocol (SSL routines, tls_early_post_process_client_hello)</span></div>
</blockquote>
<div style="" class="elementToProof"><span style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">​This is likely a HTTP/2 upgrade request inside a TLS ClientHello message, no?  And if it is, how do I parse the ClientHello
 message to extract it and respond?  </span></div>
<div style="" class="elementToProof"><span style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<div style="" class="elementToProof"><span style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Boost.Beast, the low-level HTTP/S and WebSocket on top of Boost.ASIO that I'm using to handle HTTPS, doesn't support this and
 it also doesn't directly support HTTP/2.  For HTTP/2 I could just relegate to a server does support it, though I'll need one that supports POST requests unless there's a way for me to use my own server code through a HTTP/2 proxy server (hopefully this is
 possible).  </span><span style="text-align: left; display: inline !important;"><br>
</span></div>
<div style="" class="elementToProof"><span style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<div style="" class="elementToProof"><span style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Anyway, would someone please help me figure out how to parse the ClientHello for the request in question?  Thanks.</span></div>
</body>
</html>