Author: etnu
Date: Tue Oct 21 15:32:53 2008
New Revision: 706800
URL: http://svn.apache.org/viewvc?rev=706800&view=rev
Log:
Added user ip to gadget request objects to facilitate logging and access
restrictions.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java?rev=706800&r1=706799&r2=706800&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
Tue Oct 21 15:32:53 2008
@@ -25,8 +25,10 @@
import java.util.Locale;
/**
- * Bundles together context data for the current request with server config
- * data.
+ * Bundles together context data for the current request with server config
data.
+ *
+ * TODO: This should probably be called "GadgetRequest" instead of
GadgetContext, since it is
+ * actually serving as abstraction over different request types.
*/
public class GadgetContext {
@@ -88,6 +90,13 @@
}
/**
+ * @return The IP Address for the current user.
+ */
+ public String getUserIp() {
+ return null;
+ }
+
+ /**
* @return Whether or not to show debug output.
*/
public boolean getDebug() {
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java?rev=706800&r1=706799&r2=706800&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
Tue Oct 21 15:32:53 2008
@@ -89,6 +89,15 @@
}
@Override
+ public String getUserIp() {
+ String ip = request.getRemoteAddr();
+ if (ip == null) {
+ return super.getUserIp();
+ }
+ return ip;
+ }
+
+ @Override
public boolean getDebug() {
if (debug == null) {
return super.getDebug();
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java?rev=706800&r1=706799&r2=706800&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
Tue Oct 21 15:32:53 2008
@@ -63,6 +63,13 @@
assertEquals("foo.org", context.getHost());
}
+ public void testGetUserIp() {
+ expect(request.getRemoteAddr()).andReturn("2.3.4.5");
+ replay();
+ GadgetContext context = new HttpGadgetContext(request);
+ assertEquals("2.3.4.5", context.getUserIp());
+ }
+
public void testGetSecurityToken() throws Exception {
SecurityToken expected = new AnonymousSecurityToken();
expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId())).andReturn(expected);