001    package railo.runtime.util;
002    
003    import java.io.IOException;
004    import java.io.UnsupportedEncodingException;
005    import java.net.MalformedURLException;
006    import java.net.URL;
007    
008    import org.apache.commons.httpclient.Header;
009    import org.apache.commons.httpclient.HttpMethod;
010    import org.apache.commons.httpclient.methods.RequestEntity;
011    
012    import railo.commons.net.URLDecoder;
013    import railo.commons.net.URLEncoder;
014    import railo.runtime.exp.PageException;
015    
016    public class HTTPUtilImpl implements HTTPUtil {
017            
018    
019    
020            private static HTTPUtil instance=new HTTPUtilImpl();
021    
022            private HTTPUtilImpl(){}
023            
024            public static HTTPUtil getInstance() {
025                    return instance;
026            }
027    
028            /**
029             * @see railo.runtime.util.HTTPUtil#decode(java.lang.String, java.lang.String)
030             */
031            public String decode(String str, String charset)throws UnsupportedEncodingException {
032                    return URLDecoder.decode(str, charset,false);
033            }
034    
035            /**
036             * @see railo.commons.net.HTTPUtil#delete(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, org.apache.commons.httpclient.Header[])
037             */
038            public HttpMethod delete(URL url, String username, String password,
039                            int timeout, String charset, String useragent, String proxyserver,
040                            int proxyport, String proxyuser, String proxypassword,
041                            Header[] headers) throws IOException {
042                    return railo.commons.net.HTTPUtil.delete(url, username, password, timeout, charset, useragent, proxyserver, proxyport, proxyuser, proxypassword, headers);
043            }
044    
045            /**
046             * @param str
047             * @param charset
048             * @return
049             * @throws UnsupportedEncodingException
050             */
051            public String encode(String str, String charset)throws UnsupportedEncodingException {
052                    return URLEncoder.encode(str, charset);
053            }
054    
055            /**
056             * @see railo.commons.net.HTTPUtil#head(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, org.apache.commons.httpclient.Header[])
057             */
058            public HttpMethod head(URL url, String username, String password,
059                            int timeout, String charset, String useragent, String proxyserver,
060                            int proxyport, String proxyuser, String proxypassword,
061                            Header[] headers) throws IOException {
062                    return railo.commons.net.HTTPUtil.head(url, username, password, timeout, charset, useragent, proxyserver, proxyport, proxyuser, proxypassword, headers);
063            }
064    
065            /**
066             * @see railo.commons.net.HTTPUtil#invoke(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, org.apache.commons.httpclient.Header[])
067             */
068            public HttpMethod get(URL url, String username, String password,
069                            int timeout, String charset, String useragent, String proxyserver,
070                            int proxyport, String proxyuser, String proxypassword,
071                            Header[] headers) throws IOException {
072                    return railo.commons.net.HTTPUtil.invoke(url, username, password, timeout, charset, useragent, proxyserver, proxyport, proxyuser, proxypassword, headers);
073            }
074    
075            /**
076             * @see railo.commons.net.HTTPUtil#put(java.net.URL, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String, java.lang.String, org.apache.commons.httpclient.Header[], org.apache.commons.httpclient.methods.RequestEntity)
077             */
078            public HttpMethod put(URL url, String username, String password,
079                            int timeout, String charset, String useragent, String proxyserver,
080                            int proxyport, String proxyuser, String proxypassword,
081                            Header[] headers, RequestEntity body) throws IOException {
082                    return railo.commons.net.HTTPUtil.put(url, username, password, timeout, charset, useragent, proxyserver, proxyport, proxyuser, proxypassword, headers, body);
083            }
084    
085            /**
086             * @see railo.commons.net.HTTPUtil#toRequestEntity(java.lang.Object)
087             */
088            public RequestEntity toRequestEntity(Object value) throws PageException {
089                    return railo.commons.net.HTTPUtil.toRequestEntity(value);
090            }
091    
092            /**
093             * @see railo.commons.net.HTTPUtil#toURL(java.lang.String, int)
094             */
095            public URL toURL(String strUrl, int port) throws MalformedURLException {
096                    return railo.commons.net.HTTPUtil.toURL(strUrl, port);
097            }
098    
099            /**
100             * @see railo.commons.net.HTTPUtil#toURL(java.lang.String)
101             */
102            public URL toURL(String strUrl) throws MalformedURLException {
103                    return railo.commons.net.HTTPUtil.toURL(strUrl);
104            }
105    
106            /**
107             * @see railo.commons.net.HTTPUtil#toURL(org.apache.commons.httpclient.HttpMethod)
108             */
109            public Object toURL(HttpMethod httpMethod) {
110                    return railo.commons.net.HTTPUtil.toURL(httpMethod);
111            }
112    
113    }