Commit 611e04b
committed
h2: client: offer extensions on ws-over-h2 extended CONNECT
The h1 upgrade offers the vhost's extensions in
sec-websocket-extensions, but lws_h2_client_handshake() only emitted
sec-websocket-version and sec-websocket-protocol -- so an lws client
could never negotiate permessage-deflate (or any extension) over h2,
even against a server that supports it. RFC 8441 Sect 5 carries the
ws handshake headers unchanged over extended CONNECT, so build the
same offer list as lws_generate_client_ws_handshake() and emit it
after the pseudo-headers. The response side already instantiates
accepted extensions in the shared lws_client_ws_upgrade() path.1 parent 3cc03ce commit 611e04b
1 file changed
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2870 | 2870 | | |
2871 | 2871 | | |
2872 | 2872 | | |
| 2873 | + | |
| 2874 | + | |
| 2875 | + | |
| 2876 | + | |
| 2877 | + | |
| 2878 | + | |
| 2879 | + | |
| 2880 | + | |
| 2881 | + | |
| 2882 | + | |
| 2883 | + | |
| 2884 | + | |
| 2885 | + | |
| 2886 | + | |
| 2887 | + | |
| 2888 | + | |
| 2889 | + | |
| 2890 | + | |
| 2891 | + | |
| 2892 | + | |
| 2893 | + | |
| 2894 | + | |
| 2895 | + | |
| 2896 | + | |
| 2897 | + | |
| 2898 | + | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
| 2904 | + | |
| 2905 | + | |
| 2906 | + | |
2873 | 2907 | | |
2874 | 2908 | | |
2875 | 2909 | | |
| |||
0 commit comments