You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by lr...@apache.org on 2009/05/01 19:24:27 UTC

svn commit: r770764 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java

Author: lryan
Date: Fri May  1 17:24:26 2009
New Revision: 770764

URL: http://svn.apache.org/viewvc?rev=770764&view=rev
Log:
Cleanup header definition for HTTP request handler as per discussion on OpenSocial spec group

Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java?rev=770764&r1=770763&r2=770764&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpRequestHandler.java Fri May  1 17:24:26 2009
@@ -41,6 +41,7 @@
 import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
+import java.util.List;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -55,7 +56,7 @@
  * method : http.<HTTP method name>
  * params : {
  *    href : <endpoint to fetch content from>,
- *    headers : { <header-name> : <header-value>, ...},
+ *    headers : { <header-name> : [<header-value>, ...]},
  *    format : <"text", "json", "feed">
  *    body : <request body>
  *    gadget : <url of gadget spec for calling application>
@@ -171,9 +172,11 @@
       }
 
       // Copy over allowed headers
-      for (Map.Entry<String, String> header : httpApiRequest.headers.entrySet()) {
+      for (Map.Entry<String, List<String>> header : httpApiRequest.headers.entrySet()) {
         if (!BAD_HEADERS.contains(header.getKey().trim().toUpperCase())) {
-          req.addHeader(header.getKey(), header.getValue());
+          for (String value : header.getValue()) {
+            req.addHeader(header.getKey(), value);
+          }
         }
       }
 
@@ -303,8 +306,6 @@
   protected Uri getGadgetUri(SecurityToken token, HttpApiRequest httpApiRequest) {
     if (token != null && token.getAppUrl() != null) {
       return Uri.parse(token.getAppUrl());
-    } else if (httpApiRequest.gadget != null) {
-      return httpApiRequest.gadget;
     }
     return null;
   }
@@ -321,16 +322,11 @@
     // Content to fetch / execute
     Uri href;
 
-    // TODO : Consider support Map<String, List<String>> to match response
-    Map<String, String> headers = Maps.newHashMap();
+    Map<String, List<String>> headers = Maps.newHashMap();
 
     /** POST body */
     String body;
 
-    // Allowed to be null if it can be derived from the security token
-    // TODO: why is this useful?
-    Uri gadget;
-
     /** Authorization type ("none", "signed", "oauth") */
     String authz = "none";
     
@@ -365,19 +361,11 @@
       this.href = url;
     }
 
-    public Uri getGadget() {
-      return gadget;
-    }
-
-    public void setGadget(Uri gadget) {
-      this.gadget = gadget;
-    }
-
-    public Map<String, String> getHeaders() {
+    public Map<String, List<String>> getHeaders() {
       return headers;
     }
 
-    public void setHeaders(Map<String, String> headers) {
+    public void setHeaders(Map<String, List<String>> headers) {
       this.headers = headers;
     }
 

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java?rev=770764&r1=770763&r2=770764&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpRequestHandlerTest.java Fri May  1 17:24:26 2009
@@ -162,7 +162,7 @@
     JSONObject request = new JSONObject("{method:http.post, id:req1, params : {"
         + "href:'http://www.example.org/somecontent',"
         + "body:'POSTBODY',"
-        + "headers:{goodheader:good, host : iamstripped, 'Content-Length':'1000'}"
+        + "headers:{goodheader:[good], host : [iamstripped], 'Content-Length':['1000']}"
         + "}}");
     HttpRequest httpRequest = new HttpRequest(Uri.parse("http://www.example.org/somecontent"));
     httpRequest.setMethod("POST");