Mercurial Hosting > nabble
diff src/nabble/view/web/w3c/P3PXML.jtp @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/view/web/w3c/P3PXML.jtp Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,58 @@ +<% +package nabble.view.web.w3c; + +import fschmidt.util.servlet.JtpContext; +import nabble.view.lib.UrlMappable; +import nabble.view.lib.Cache; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class P3PXML extends HttpServlet implements UrlMappable { + + private static final Pattern URL_PATTERN = Pattern.compile("/w3c/p3p.xml$"); + + private static String path() { + return "/w3c/p3p.xml"; + } + + public Map<String, String[]> getParameterMapFromUrl(HttpServletRequest request,String mappedUrl) { + Matcher m = URL_PATTERN.matcher(mappedUrl); + if (!m.find()) + throw new RuntimeException(); + Map<String,String[]> params = new HashMap<String,String[]>(); + return params; + } + + public Pattern getUrlPattern() { + return URL_PATTERN; + } + + protected void service(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + JtpContext jtpContext = (JtpContext)getServletContext().getAttribute(JtpContext.attrName); + jtpContext.setEtag(request,response); + PrintWriter out = response.getWriter(); + response.setContentType("text/xml"); + %> + <META xmlns="http://www.w3.org/2002/01/P3Pv1"> + <POLICY-REFERENCES> + <POLICY-REF about="http://<%=request.getHeader("host")%>/w3c/policy.xml#Policy"> + <INCLUDE>/*</INCLUDE> + <COOKIE-INCLUDE name="*" value="*" domain="<%=request.getHeader("host")%>"/> + </POLICY-REF> + </POLICY-REFERENCES> + </META> + <% + } +} +%> \ No newline at end of file