You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by di...@apache.org on 2006/05/02 08:03:08 UTC
svn commit: r398820 - in
/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http:
AxisServlet.java TransportHeaders.java
Author: dims
Date: Mon May 1 23:03:00 2006
New Revision: 398820
URL: http://svn.apache.org/viewcvs?rev=398820&view=rev
Log:
delay enumerating the transport headers till someone needs it
Added:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/TransportHeaders.java
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java?rev=398820&r1=398819&r2=398820&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/AxisServlet.java Mon May 1 23:03:00 2006
@@ -245,17 +245,7 @@
}
protected Map getTransportHeaders(HttpServletRequest req) {
- HashMap headerMap = new HashMap();
- Enumeration headerNames = req.getHeaderNames();
-
- while (headerNames.hasMoreElements()) {
- String key = (String) headerNames.nextElement();
- String value = req.getHeader(key);
-
- headerMap.put(key, value);
- }
-
- return headerMap;
+ return new TransportHeaders(req);
}
/**
Added: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/TransportHeaders.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/TransportHeaders.java?rev=398820&view=auto
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/TransportHeaders.java (added)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/transport/http/TransportHeaders.java Mon May 1 23:03:00 2006
@@ -0,0 +1,131 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed 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 org.apache.axis2.transport.http;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Pass-Thru / delayed get of the values from HttpServletRequest
+ */
+public class TransportHeaders implements Map {
+ HttpServletRequest req;
+ HashMap headerMap = null;
+
+ public TransportHeaders(HttpServletRequest req) {
+ this.req = req;
+ }
+
+ private void init() {
+ headerMap = new HashMap();
+ Enumeration headerNames = req.getHeaderNames();
+
+ while (headerNames.hasMoreElements()) {
+ String key = (String) headerNames.nextElement();
+ String value = req.getHeader(key);
+
+ headerMap.put(key, value);
+ }
+ }
+
+ public int size() {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.size();
+ }
+
+ public void clear() {
+ if (headerMap != null) {
+ headerMap.clear();
+ }
+ }
+
+ public boolean isEmpty() {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.isEmpty();
+ }
+
+ public boolean containsKey(Object key) {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.containsKey(key);
+ }
+
+ public boolean containsValue(Object value) {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.containsValue(value);
+ }
+
+ public Collection values() {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.values();
+ }
+
+ public void putAll(Map t) {
+ if (headerMap == null) {
+ init();
+ }
+ headerMap.putAll(t);
+ }
+
+ public Set entrySet() {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.entrySet();
+ }
+
+ public Set keySet() {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.entrySet();
+ }
+
+ public Object get(Object key) {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.get(key);
+ }
+
+ public Object remove(Object key) {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.remove(key);
+ }
+
+ public Object put(Object key, Object value) {
+ if (headerMap == null) {
+ init();
+ }
+ return headerMap.put(key, value);
+ }
+}