dods.servlet.jake
Class ProxyServlet

java.lang.Object
  extended byjavax.servlet.GenericServlet
      extended byjavax.servlet.http.HttpServlet
          extended bydods.servlet.jake.DispatchServlet
              extended bydods.servlet.jake.ProxyServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

public class ProxyServlet
extends DispatchServlet

Proxy servlet. This servlet searches its parameter list for a server URL which matches the first component of the path, and if it finds one, acts as a proxy for DODS requests on the remote server. This can be used by DODS applet clients to bypass the default applet security restrictions, which only allow an applet to connect to the host from which they are downloaded.

Note: to use this servlet, you'll need to add servlet parameters of the form: manta=http://manta.jpl.nasa.gov/cgi-bin/nph-hdf

This will convert a URL of the form:
http://machine/servlets/proxy/manta/foo.hdf
to:
http://manta.jpl.nasa.gov/cgi-bin/nph-hdf/foo.hdf

Version:
$Revision: 1.2 $
Author:
jehamby
See Also:
DispatchServlet, Serialized Form

Constructor Summary
ProxyServlet()
           
 
Method Summary
 void getDAS(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String path, java.lang.String ce)
          Get the DODS DAS.
 void getData(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String path, java.lang.String ce, boolean compress)
          Get the DODS Dataset.
 void getDDS(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String path, java.lang.String ce)
          Get the DODS DDS.
 
Methods inherited from class dods.servlet.jake.DispatchServlet
doGet
 
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
 
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, init, log, log
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProxyServlet

public ProxyServlet()
Method Detail

getDAS

public void getDAS(javax.servlet.http.HttpServletRequest req,
                   javax.servlet.http.HttpServletResponse res,
                   java.lang.String path,
                   java.lang.String ce)
            throws javax.servlet.ServletException,
                   java.io.IOException
Get the DODS DAS.

Specified by:
getDAS in class DispatchServlet
Parameters:
req - the HttpServletRequest to use
res - the HttpServletResponse to use
path - the DODS file path in the URL
ce - the DODS constraint expression in the URL
Throws:
java.io.IOException - if detected when handling the request
javax.servlet.ServletException - if the request could not be handled

getDDS

public void getDDS(javax.servlet.http.HttpServletRequest req,
                   javax.servlet.http.HttpServletResponse res,
                   java.lang.String path,
                   java.lang.String ce)
            throws javax.servlet.ServletException,
                   java.io.IOException
Get the DODS DDS.

Specified by:
getDDS in class DispatchServlet
Parameters:
req - the HttpServletRequest to use
res - the HttpServletResponse to use
path - the DODS file path in the URL
ce - the DODS constraint expression in the URL
Throws:
java.io.IOException - if detected when handling the request
javax.servlet.ServletException - if the request could not be handled

getData

public void getData(javax.servlet.http.HttpServletRequest req,
                    javax.servlet.http.HttpServletResponse res,
                    java.lang.String path,
                    java.lang.String ce,
                    boolean compress)
             throws javax.servlet.ServletException,
                    java.io.IOException
Get the DODS Dataset.

Specified by:
getData in class DispatchServlet
Parameters:
req - the HttpServletRequest to use
res - the HttpServletResponse to use
path - the DODS file path in the URL
ce - the DODS constraint expression in the URL
compress - whether to compress the DODS output
Throws:
java.io.IOException - if detected when handling the request
javax.servlet.ServletException - if the request could not be handled