Package com.pugh.sockso.web.action

Source Code of com.pugh.sockso.web.action.Errorer

package com.pugh.sockso.web.action;

import com.pugh.sockso.templates.web.TBurp;
import com.pugh.sockso.web.Request;
import com.pugh.sockso.web.Response;
import com.pugh.sockso.web.BadRequestException;

import java.io.IOException;

import java.sql.SQLException;

/**
*  a web action to show error pages
*
*/

public class Errorer extends BaseAction {

    private final BadRequestException e;
    private final boolean showStackTrace;
   
    /**
     *  constructor
     *
     *  @param e
     *  @param showStackTrace
     *
     */
   
    public Errorer( final BadRequestException e, final boolean showStackTrace ) {
       
        this.e = e;
        this.showStackTrace = showStackTrace;
       
    }
   
    /**
     *  handles the request to show the error page
     *
     */
   
    public void handleRequest() throws IOException, SQLException {

        showBurp();
       
    }
   
    /**
     *  shows the main "burp" page to display the error message
     *
     */
   
    protected void showBurp() throws IOException, SQLException {
       
        final Request req = getRequest();
        final Response res = getResponse();

        final TBurp tpl = new TBurp();
        tpl.setHost( req.getHeader("Host") );
        tpl.setReferer( req.getHeader("Referer") );
        tpl.setException( e );
        tpl.setMessage( e.getMessage() );
        tpl.setShowStackTrace( showStackTrace );
        tpl.setStatusCode( e.getStatusCode() );
       
        res.setStatus( e.getStatusCode() );
        res.showHtml( tpl );

    }
   
    /**
     *  don't require login on error pages.  cause that'd be stoopid.
     *
     *  @return
     *
     */
   
    @Override
    public boolean requiresLogin() {
       
        return false;
       
    }
   
}
TOP

Related Classes of com.pugh.sockso.web.action.Errorer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.