diff options
| author | Garrett D'Amore <garrett@damore.org> | 2020-08-08 14:02:52 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2020-08-08 14:51:44 -0700 |
| commit | 79afcea91aa6882eede47b5cddc4f097454b6027 (patch) | |
| tree | d4b06132b193f56fb347bf88765293ccffe05641 /src/transport/ws | |
| parent | 0299f164c4a1f41e169c159e6cd1b382d3690ab0 (diff) | |
| download | nng-79afcea91aa6882eede47b5cddc4f097454b6027.tar.gz nng-79afcea91aa6882eede47b5cddc4f097454b6027.tar.bz2 nng-79afcea91aa6882eede47b5cddc4f097454b6027.zip | |
fixes #1279 Add support for ws4:// and ws6:// style websocket urls
fixes #1277 FreeBSD errors due to bad v4 vs. v6 assumptions
Diffstat (limited to 'src/transport/ws')
| -rw-r--r-- | src/transport/ws/websocket.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/transport/ws/websocket.c b/src/transport/ws/websocket.c index e2578f32..545a519d 100644 --- a/src/transport/ws/websocket.c +++ b/src/transport/ws/websocket.c @@ -670,10 +670,40 @@ static nni_tran ws_tran = { .tran_checkopt = wstran_checkopt, }; +static nni_tran ws4_tran = { + .tran_version = NNI_TRANSPORT_VERSION, + .tran_scheme = "ws4", + .tran_dialer = &ws_dialer_ops, + .tran_listener = &ws_listener_ops, + .tran_pipe = &ws_pipe_ops, + .tran_init = wstran_init, + .tran_fini = wstran_fini, + .tran_checkopt = wstran_checkopt, +}; + +static nni_tran ws6_tran = { + .tran_version = NNI_TRANSPORT_VERSION, + .tran_scheme = "ws6", + .tran_dialer = &ws_dialer_ops, + .tran_listener = &ws_listener_ops, + .tran_pipe = &ws_pipe_ops, + .tran_init = wstran_init, + .tran_fini = wstran_fini, + .tran_checkopt = wstran_checkopt, +}; + + int nng_ws_register(void) { - return (nni_tran_register(&ws_tran)); + int rv; + if (((rv = nni_tran_register(&ws_tran)) != 0) || + ((rv = nni_tran_register(&ws4_tran)) != 0) || + ((rv = nni_tran_register(&ws6_tran)) != 0)) { + return (rv); + } + + return (0); } #ifdef NNG_TRANSPORT_WSS |
