opendap/dtswar/src/main/java/opendap/dts/DTSServlet.java
public void doGetINFO(ReqState rs)
            throws Exception
    {
        if(Debug.isSet("showResponse")) {
            log.debug("doGetINFO For: " + rs.getDataSet());
        }

        GuardedDataset ds = null;
        try {
            ds = getDataset(rs);
            if(ds == null) return;

            PrintWriter pw = new PrintWriter(new OutputStreamWriter(rs.getResponse().getOutputStream(), Util.UTF8));
            rs.getResponse().setHeader("XDODS-Server", getServerVersion());
            rs.getResponse().setContentType("text/html");
            rs.getResponse().setHeader("Content-Description", "dods-description");

            GetInfoHandler di = new GetInfoHandler();
            di.sendINFO(pw, ds, rs);
            rs.getResponse().setStatus(HttpServletResponse.SC_OK);

        } catch (ParseException pe) {
            parseExceptionHandler(pe, rs.getResponse());
        } catch (DAP2Exception de) {
            dap2ExceptionHandler(de, rs.getResponse());
        } catch (IOException pe) {
            IOExceptionHandler(pe, rs);
        } catch (Throwable t) {
            anyExceptionHandler(t, rs);
        } finally {  // release lock if needed
            if(ds != null) ds.release();
        }

    }
public void doGetINFO(ReqState rs)
            throws Exception
    {
        if(Debug.isSet("showResponse")) {
            log.debug("doGetINFO For: " + rs.getDataSet());
        }

        GuardedDataset ds = null;
        try {
            ds = getDataset(rs);
            if(ds == null) return;

            PrintWriter pw = new PrintWriter(new OutputStreamWriter(rs.getResponse().getOutputStream(), Util.UTF8));
            rs.getResponse().setHeader("XDODS-Server", getServerVersion());
            rs.getResponse().setContentType("text/html");
            rs.getResponse().setHeader("Content-Description", "dods-description");

            GetInfoHandler di = new GetInfoHandler();
            di.sendINFO(pw, ds, rs);
            rs.getResponse().setStatus(HttpServletResponse.SC_OK);

        } catch (ParseException pe) {
            parseExceptionHandler(pe, rs.getResponse());
        } catch (DAP2Exception de) {
            dap2ExceptionHandler(de, rs.getResponse());
        } catch (IOException pe) {
            IOExceptionHandler(pe, rs);
        } catch (Throwable t) {
            anyExceptionHandler(t, rs);
        } finally {  // release lock if needed
            if(ds != null) ds.release();
        }

    }
Handler for OPeNDAP info requests. Returns an HTML document
describing the contents of the servers datasets.
<p>
The bulk of this code resides in the class opendap.servlet.GetInfoHandler and
documentation may be found there.

@param rs The client's <code> ReqState </code>
@see GetInfoHandler