/**
* Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados.
*
* e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro
* dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do
* Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão.
*
* Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA;
* sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
* Veja a Licença Pública Geral Menor GNU para maiores detalhes.
*/
package br.gov.camara.edemocracia.util;
import com.liferay.portal.kernel.util.Http;
import com.liferay.portal.kernel.util.PropsKeys;
import com.liferay.portal.kernel.util.PropsUtil;
/**
* Utilitários para reescrever URLs
*
* @author P_7339
*
*/
public final class UrlRewriterUtil {
/**
* Converte a URL para HTTP
*
* @param url
* @return
*/
public static final String convertToHttp(String url) {
if (!url.startsWith("https://"))
return url;
url = "http://" + url.substring(8);
int slashPos = url.indexOf('/', 8);
if (slashPos == -1)
slashPos = url.length();
int dotPos = url.indexOf(':', 8);
// Retira a porta
if (dotPos != -1 && dotPos < slashPos) {
url = url.substring(0, dotPos) + url.substring(slashPos);
slashPos = url.indexOf('/', 8);
if (slashPos == -1)
slashPos = url.length();
}
String portString = PropsUtil.get(PropsKeys.WEB_SERVER_HTTP_PORT);
int port = Http.HTTP_PORT;
if (portString != null) {
try {
port = Integer.parseInt(portString);
} catch (NumberFormatException e) {
port = Http.HTTP_PORT;
}
}
if (port == -1 || port == 80)
return url;
// Acrescenta a porta
url = url.substring(0, slashPos) + ":" + port + url.substring(slashPos);
return url;
}
}