public static int port()

in wagon-provider-api/src/main/java/org/apache/maven/wagon/PathUtils.java [209:256]


    public static int port(String url) {

        final String protocol = PathUtils.protocol(url);

        if (protocol == null || protocol.equalsIgnoreCase("file")) {
            return WagonConstants.UNKNOWN_PORT;
        }

        final String authorization = PathUtils.authorization(url);

        if (authorization == null) {
            return WagonConstants.UNKNOWN_PORT;
        }

        if (protocol.equalsIgnoreCase("scm")) {
            // skip over type
            url = url.substring(url.indexOf(":", 4) + 1).trim();
        }

        if (url.regionMatches(true, 0, "file:", 0, 5) || url.regionMatches(true, 0, "local:", 0, 6)) {
            return WagonConstants.UNKNOWN_PORT;
        }

        // skip over protocol
        url = url.substring(url.indexOf(":") + 1).trim();
        if (url.startsWith("//")) {
            url = url.substring(2);
        }

        int start = authorization.length();

        if (url.length() > start && url.charAt(start) == ':') {
            int end = url.indexOf('/', start);

            if (end == start + 1) {
                // it is :/
                return WagonConstants.UNKNOWN_PORT;
            }

            if (end == -1) {
                end = url.length();
            }

            return Integer.parseInt(url.substring(start + 1, end));
        } else {
            return WagonConstants.UNKNOWN_PORT;
        }
    }