1 module hunt.http.codec.websocket.utils.WSURI; 2 3 // import java.net.URI; 4 // import java.net.URISyntaxException; 5 // import java.util.Objects; 6 7 /** 8 * Utility methods for converting a {@link URI} between a HTTP(S) and WS(S) URI. 9 */ 10 final class WSURI { 11 // /** 12 // * Convert to HTTP <code>http</code> or <code>https</code> scheme URIs. 13 // * <p> 14 // * Converting <code>ws</code> and <code>wss</code> URIs to their HTTP equivalent 15 // * 16 // * @param inputUri the input URI 17 // * @return the HTTP scheme URI for the input URI. 18 // * @throws URISyntaxException if unable to convert the input URI 19 // */ 20 // static URI toHttp(URI inputUri) { 21 // Objects.requireNonNull(inputUri, "Input URI must not be null"); 22 // string wsScheme = inputUri.getScheme(); 23 // if ("http".equalsIgnoreCase(wsScheme) || "https".equalsIgnoreCase(wsScheme)) { 24 // // leave alone 25 // return inputUri; 26 // } 27 28 // if ("ws".equalsIgnoreCase(wsScheme)) { 29 // // convert to http 30 // return new URI("http" ~ inputUri.toString().substring(wsScheme.length())); 31 // } 32 33 // if ("wss".equalsIgnoreCase(wsScheme)) { 34 // // convert to https 35 // return new URI("https" ~ inputUri.toString().substring(wsScheme.length())); 36 // } 37 38 // throw new URISyntaxException(inputUri.toString(), "Unrecognized WebSocket scheme"); 39 // } 40 41 // /** 42 // * Convert to WebSocket <code>ws</code> or <code>wss</code> scheme URIs 43 // * <p> 44 // * Converting <code>http</code> and <code>https</code> URIs to their WebSocket equivalent 45 // * 46 // * @param inputUrl the input URI 47 // * @return the WebSocket scheme URI for the input URI. 48 // * @throws URISyntaxException if unable to convert the input URI 49 // */ 50 // static URI toWebsocket(CharSequence inputUrl) { 51 // return toWebsocket(new URI(inputUrl.toString())); 52 // } 53 54 // /** 55 // * Convert to WebSocket <code>ws</code> or <code>wss</code> scheme URIs 56 // * <p> 57 // * Converting <code>http</code> and <code>https</code> URIs to their WebSocket equivalent 58 // * 59 // * @param inputUrl the input URI 60 // * @param query the optional query string 61 // * @return the WebSocket scheme URI for the input URI. 62 // * @throws URISyntaxException if unable to convert the input URI 63 // */ 64 // static URI toWebsocket(CharSequence inputUrl, string query) { 65 // if (query is null) { 66 // return toWebsocket(new URI(inputUrl.toString())); 67 // } 68 // return toWebsocket(new URI(inputUrl.toString() + '?' + query)); 69 // } 70 71 // /** 72 // * Convert to WebSocket <code>ws</code> or <code>wss</code> scheme URIs 73 // * <p> 74 // * <p> 75 // * Converting <code>http</code> and <code>https</code> URIs to their WebSocket equivalent 76 // * 77 // * @param inputUri the input URI 78 // * @return the WebSocket scheme URI for the input URI. 79 // * @throws URISyntaxException if unable to convert the input URI 80 // */ 81 // static URI toWebsocket(final URI inputUri) { 82 // Objects.requireNonNull(inputUri, "Input URI must not be null"); 83 // string httpScheme = inputUri.getScheme(); 84 // if ("ws".equalsIgnoreCase(httpScheme) || "wss".equalsIgnoreCase(httpScheme)) { 85 // // keep as-is 86 // return inputUri; 87 // } 88 89 // if ("http".equalsIgnoreCase(httpScheme)) { 90 // // convert to ws 91 // return new URI("ws" ~ inputUri.toString().substring(httpScheme.length())); 92 // } 93 94 // if ("https".equalsIgnoreCase(httpScheme)) { 95 // // convert to wss 96 // return new URI("wss" ~ inputUri.toString().substring(httpScheme.length())); 97 // } 98 99 // throw new URISyntaxException(inputUri.toString(), "Unrecognized HTTP scheme"); 100 // } 101 }