/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.jini.url.httpmd; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.ProtocolException; import java.net.URL; import java.security.Permission; import java.util.Map; /** * An HTTP URL connection that delegates all operations defined by * HttpURLConnection and URLConnection. * * @author Sun Microsystems, Inc. * */ class DelegatingHttpURLConnection extends HttpURLConnection { /** The HTTP URL connection to which operations should be delegated. */ HttpURLConnection delegateConnection; /** * Creates an HttpURLConnection for the specified URL that delegates all * operations to the value of the delegateConnection field, which should be * set separately. */ DelegatingHttpURLConnection(URL url) { super(url); } /* -- HttpURLConnection methods -- */ public void setInstanceFollowRedirects(boolean followRedirects) { delegateConnection.setInstanceFollowRedirects(followRedirects); } public boolean getInstanceFollowRedirects() { return delegateConnection.getInstanceFollowRedirects(); } public void setRequestMethod(String method) throws ProtocolException { delegateConnection.setRequestMethod(method); } public String getRequestMethod() { return delegateConnection.getRequestMethod(); } public int getResponseCode() throws IOException { return delegateConnection.getResponseCode(); } public String getResponseMessage() throws IOException { return delegateConnection.getResponseMessage(); } public void disconnect() { delegateConnection.disconnect(); } public boolean usingProxy() { return delegateConnection.usingProxy(); } public InputStream getErrorStream() { return delegateConnection.getErrorStream(); } /* -- URLConnection methods -- */ public void connect() throws IOException { delegateConnection.connect(); } public URL getURL() { return delegateConnection.getURL(); } public int getContentLength() { return delegateConnection.getContentLength(); } public String getContentType() { return delegateConnection.getContentType(); } public String getContentEncoding() { return delegateConnection.getContentEncoding(); } public long getExpiration() { return delegateConnection.getExpiration(); } public long getDate() { return delegateConnection.getDate(); } public long getLastModified() { return delegateConnection.getLastModified(); } public String getHeaderField(String name) { return delegateConnection.getHeaderField(name); } public Map getHeaderFields() { return delegateConnection.getHeaderFields(); } public int getHeaderFieldInt(String name, int Default) { return delegateConnection.getHeaderFieldInt(name, Default); } public long getHeaderFieldDate(String name, long Default) { return delegateConnection.getHeaderFieldDate(name, Default); } public String getHeaderFieldKey(int n) { return delegateConnection.getHeaderFieldKey(n); } public String getHeaderField(int n) { return delegateConnection.getHeaderField(n); } public Object getContent() throws IOException { return delegateConnection.getContent(); } public Object getContent(Class[] classes) throws IOException { return delegateConnection.getContent(classes); } public Permission getPermission() throws IOException { return delegateConnection.getPermission(); } public InputStream getInputStream() throws IOException { return delegateConnection.getInputStream(); } public OutputStream getOutputStream() throws IOException { return delegateConnection.getOutputStream(); } public void setDoInput(boolean doinput) { delegateConnection.setDoInput(doinput); } public boolean getDoInput() { return delegateConnection.getDoInput(); } public void setDoOutput(boolean dooutput) { delegateConnection.setDoOutput(dooutput); } public boolean getDoOutput() { return delegateConnection.getDoOutput(); } public void setAllowUserInteraction(boolean allowuserinteraction) { delegateConnection.setAllowUserInteraction(allowuserinteraction); } public boolean getAllowUserInteraction() { return delegateConnection.getAllowUserInteraction(); } public void setUseCaches(boolean usecaches) { delegateConnection.setUseCaches(usecaches); } public boolean getUseCaches() { return delegateConnection.getUseCaches(); } public void setIfModifiedSince(long ifmodifiedsince) { delegateConnection.setIfModifiedSince(ifmodifiedsince); } public long getIfModifiedSince() { return delegateConnection.getIfModifiedSince(); } public boolean getDefaultUseCaches() { return delegateConnection.getDefaultUseCaches(); } public void setDefaultUseCaches(boolean defaultusecaches) { delegateConnection.setDefaultUseCaches(defaultusecaches); } public void setRequestProperty(String key, String value) { delegateConnection.setRequestProperty(key, value); } public void addRequestProperty(String key, String value) { delegateConnection.addRequestProperty(key, value); } public String getRequestProperty(String key) { return delegateConnection.getRequestProperty(key); } public Map getRequestProperties() { return delegateConnection.getRequestProperties(); } }