Revision: 3541
http://archive-access.svn.sourceforge.net/archive-access/?rev=3541&view=rev
Author: bradtofel
Date: 2011-10-25 00:41:52 +0000 (Tue, 25 Oct 2011)
Log Message:
-----------
FEATURE: now creator can specify additional HTTP headers to include in the redirect
Modified Paths:
--------------
trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BetterRequestException.java
Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BetterRequestException.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BetterRequestException.java 2011-10-25 00:40:35 UTC (rev 3540)
+++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/exception/BetterRequestException.java 2011-10-25 00:41:52 UTC (rev 3541)
@@ -19,6 +19,9 @@
*/
package org.archive.wayback.exception;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.servlet.http.HttpServletResponse;
/**
@@ -40,6 +43,7 @@
protected static final String ID = "betterRequest";
private String betterURI;
private int status = HttpServletResponse.SC_FOUND;
+ Map<String,String> extraHeaders;
/**
@@ -53,6 +57,7 @@
this.betterURI = betterURI;
this.status = status;
id = ID;
+ extraHeaders = new HashMap<String,String>();
}
/**
* Constructor
@@ -63,8 +68,12 @@
super("Better URI for query");
this.betterURI = betterURI;
id = ID;
+ extraHeaders = new HashMap<String,String>();
}
+ public void addHeader(String name, String value) {
+ extraHeaders.put(name, value);
+ }
/**
* @return Returns the betterURI.
*/
@@ -75,4 +84,14 @@
return status;
}
+ public void generateResponse(HttpServletResponse response) {
+ response.setStatus(status);
+ response.setHeader("Location", betterURI);
+ if(extraHeaders.size() > 0) {
+ for (Map.Entry<String,String> entry : extraHeaders.entrySet()) {
+ response.setHeader(entry.getKey(), entry.getValue());
+ }
+ }
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|