Signed-off-by: Pekka Enberg <penb...@kernel.org>
---
 java/net/CacheRequest.java        |   52 ++++++++++++++++++++++++
 java/net/CacheResponse.java       |   55 +++++++++++++++++++++++++
 java/net/CookieHandler.java       |   68 +++++++++++++++++++++++++++++++
 java/net/HttpRetryException.java  |   80 +++++++++++++++++++++++++++++++++++++
 java/net/ResponseCache.java       |   69 +++++++++++++++++++++++++++++++
 java/net/SecureCacheResponse.java |   55 +++++++++++++++++++++++++
 6 files changed, 379 insertions(+), 0 deletions(-)
 create mode 100644 java/net/CacheRequest.java
 create mode 100644 java/net/CacheResponse.java
 create mode 100644 java/net/CookieHandler.java
 create mode 100644 java/net/HttpRetryException.java
 create mode 100644 java/net/ResponseCache.java
 create mode 100644 java/net/SecureCacheResponse.java

diff --git a/java/net/CacheRequest.java b/java/net/CacheRequest.java
new file mode 100644
index 0000000..23e0d9e
--- /dev/null
+++ b/java/net/CacheRequest.java
@@ -0,0 +1,52 @@
+/* CacheRequest.java --
+   Copyright (C) 2012  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.net;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+
+/**
+ * @since 1.5
+ */
+public abstract class CacheRequest
+{
+  public abstract OutputStream getBody() throws IOException;
+
+  public abstract void abort();
+}
diff --git a/java/net/CacheResponse.java b/java/net/CacheResponse.java
new file mode 100644
index 0000000..d4cf95f
--- /dev/null
+++ b/java/net/CacheResponse.java
@@ -0,0 +1,55 @@
+/* CacheResponse.java --
+   Copyright (C) 2012  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.net;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * @since 1.5
+ */
+public abstract class CacheResponse
+{
+  public abstract InputStream getBody() throws IOException;
+
+  public abstract Map<String, List<String>> getHeaders() throws IOException;
+}
diff --git a/java/net/CookieHandler.java b/java/net/CookieHandler.java
new file mode 100644
index 0000000..c551f5d
--- /dev/null
+++ b/java/net/CookieHandler.java
@@ -0,0 +1,68 @@
+/* CookieHandler.java --
+   Copyright (C) 2012  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.net;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * @since 1.5
+ */
+public abstract class CookieHandler
+{
+  private static CookieHandler defaultHandler;
+
+  public static CookieHandler getDefault()
+  {
+    return defaultHandler;
+  }
+
+  public static void setDefault(CookieHandler handler)
+  {
+    defaultHandler = handler;
+  }
+
+  public abstract Map<String, List<String>> get(URI uri, Map<String,
+                                                List<String>> requestHeaders)
+    throws IOException;
+
+  public abstract void put(URI uri, Map<String, List<String>> responseHeaders)
+    throws IOException;
+}
diff --git a/java/net/HttpRetryException.java b/java/net/HttpRetryException.java
new file mode 100644
index 0000000..2b51bc5
--- /dev/null
+++ b/java/net/HttpRetryException.java
@@ -0,0 +1,80 @@
+/* HttpRetryException.java --
+   Copyright (C) 2012  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.net;
+
+import java.io.IOException;
+
+
+/**
+ * @since 1.5
+ */
+public class HttpRetryException
+  extends IOException
+{
+  private final String reason;
+  private final int responseCode;
+  private final String location;
+
+  public HttpRetryException(String reason, int responseCode)
+  {
+    this(reason, responseCode, null);
+  }
+
+  public HttpRetryException(String reason, int responseCode, String location)
+  {
+    this.reason = reason;
+    this.responseCode = responseCode;
+    this.location = location;
+  }
+
+  public int responseCode()
+  {
+    return this.responseCode;
+  }
+
+  public String getReason()
+  {
+    return reason;
+  }
+
+  public String getLocation()
+  {
+    return location;
+  }
+
+}
diff --git a/java/net/ResponseCache.java b/java/net/ResponseCache.java
new file mode 100644
index 0000000..179fa5f
--- /dev/null
+++ b/java/net/ResponseCache.java
@@ -0,0 +1,69 @@
+/* ResponseCache.java --
+   Copyright (C) 2012  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.net;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * @since 1.5
+ */
+public abstract class ResponseCache
+{
+  private static ResponseCache defaultCache;
+
+  public static ResponseCache getDefault()
+  {
+    return defaultCache;
+  }
+
+  public static void setDefault(ResponseCache cache)
+  {
+    defaultCache = cache;
+  }
+
+  public abstract CacheResponse get(URI uri, String requestMethod,
+                                    Map<String, List<String>> requestHeaders)
+    throws IOException;
+
+  public abstract CacheRequest put(URI uri, URLConnection connection)
+    throws IOException;
+
+}
diff --git a/java/net/SecureCacheResponse.java 
b/java/net/SecureCacheResponse.java
new file mode 100644
index 0000000..e405484
--- /dev/null
+++ b/java/net/SecureCacheResponse.java
@@ -0,0 +1,55 @@
+/* SecureCacheResponse.java --
+   Copyright (C) 2012  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.net;
+
+import java.security.Principal;
+import java.security.cert.Certificate;
+import java.util.List;
+import javax.net.ssl.SSLPeerUnverifiedException;
+
+
+/**
+ * @since 1.5
+ */
+public abstract class SecureCacheResponse
+  extends CacheResponse
+{
+  public abstract String getCipherSuite();
+  public abstract List<Certificate> getLocalCertificateChain();
+  public abstract Principal getLocalPrincipal();
+}
-- 
1.7.6.5


Reply via email to