You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by zh...@apache.org on 2011/01/20 03:11:10 UTC
svn commit: r1061101 -
/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
Author: zhoresh
Date: Thu Jan 20 02:11:10 2011
New Revision: 1061101
URL: http://svn.apache.org/viewvc?rev=1061101&view=rev
Log:
Allow overriding gadget url schema | http://codereview.appspot.com/4085041/
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java?rev=1061101&r1=1061100&r2=1061101&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/process/Processor.java Thu Jan 20 02:11:10 2011
@@ -65,6 +65,13 @@ public class Processor {
this.featureRegistry = featureRegistry;
}
+ protected void validateGadgetUrl(Uri url) throws ProcessingException {
+ if (!"http".equalsIgnoreCase(url.getScheme()) && !"https".equalsIgnoreCase(url.getScheme())) {
+ throw new ProcessingException("Unsupported scheme (must be http or https).",
+ HttpServletResponse.SC_FORBIDDEN);
+ }
+ }
+
/**
* Process a single gadget. Creates a gadget from a retrieved GadgetSpec and context object,
* automatically performing variable substitution on the spec for use elsewhere.
@@ -79,15 +86,12 @@ public class Processor {
HttpServletResponse.SC_BAD_REQUEST);
}
- if (!"http".equalsIgnoreCase(url.getScheme()) && !"https".equalsIgnoreCase(url.getScheme())) {
- throw new ProcessingException("Unsupported scheme (must be http or https).",
- HttpServletResponse.SC_FORBIDDEN);
- }
+ validateGadgetUrl(url);
if (blacklist.isBlacklisted(context.getUrl())) {
if (LOG.isLoggable(Level.INFO)) {
LOG.logp(Level.INFO, classname, "process", MessageKeys.RENDER_BLACKLISTED_GADGET, new Object[] {context.getUrl()});
- }
+ }
throw new ProcessingException("The requested gadget is unavailable",
HttpServletResponse.SC_FORBIDDEN);
}
@@ -95,7 +99,7 @@ public class Processor {
try {
GadgetSpec spec = gadgetSpecFactory.getGadgetSpec(context);
spec = substituter.substitute(context, spec);
-
+
if (context.getSanitize()) {
spec = spec.removeUrlViews();
}