--- a/src/server/util/util.h Sat Feb 21 14:40:03 2026 +0100 +++ b/src/server/util/util.h Sat Feb 21 19:36:15 2026 +0100 @@ -129,6 +129,29 @@ NSAPI_PUBLIC void INTutil_uri_parse(char *uri); +// new util_parse_uri +enum WSUriScheme { + WS_URI_OTHER = 0, + WS_URI_HTTP, + WS_URI_HTTPS +}; + +typedef struct WSUri { + const char *scheme; + size_t schemelen; + const char *host; + size_t hostlen; + const char *path; + size_t pathlen; + enum WSUriScheme scheme_num; + short port; +} WSUri; + +NSAPI_PUBLIC int util_parse_uri(const char *uri, WSUri *result); +NSAPI_PUBLIC int util_parse_uri_len(const char *uri, size_t length, WSUri *result); +// end util_parse_uri + + #ifdef XP_WIN32 NSAPI_PUBLIC int INTutil_uri_unescape_and_normalize(pool_handle_t *pool, char *s, char *unnormalized); #endif /* XP_WIN32 */