package org.jenkinsci.plugins.github.util;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.MalformedURLException;
import java.net.URL;
/**
* @author lanwen (Merkushev Kirill)
*/
@Restricted(NoExternalUse.class)
public final class XSSApi {
private static final Logger LOG = LoggerFactory.getLogger(XSSApi.class);
private XSSApi() {
}
/**
* Method to filter invalid url for XSS. This url can be inserted to href safely
*
* @param urlString unsafe url
*
* @return safe url
*/
public static String asValidHref(String urlString) {
try {
return new URL(urlString).toExternalForm();
} catch (MalformedURLException e) {
LOG.debug("Malformed url - {}, empty string will be returned", urlString);
return "";
}
}
}