AppserverIo\Appserver\ServletEngine\Servlets\DhtmlServlet::service PHP Метод

service() публичный Метод

Processes the DHTML file specified as servlet name.
public service ( AppserverIo\Psr\Servlet\ServletRequestInterface $servletRequest, AppserverIo\Psr\Servlet\ServletResponseInterface $servletResponse ) : void
$servletRequest AppserverIo\Psr\Servlet\ServletRequestInterface The request instance
$servletResponse AppserverIo\Psr\Servlet\ServletResponseInterface The response sent back to the client
Результат void
    public function service(ServletRequestInterface $servletRequest, ServletResponseInterface $servletResponse)
    {
        // pre-initialize the X-POWERED-BY header
        $poweredBy = $this->getPoweredBy();
        // append an existing X-POWERED-BY header if available
        if ($servletResponse->hasHeader(HttpProtocol::HEADER_X_POWERED_BY)) {
            $poweredBy = $servletResponse->getHeader(HttpProtocol::HEADER_X_POWERED_BY) . ', ' . $poweredBy;
        }
        // set the X-POWERED-BY header
        $servletResponse->addHeader(HttpProtocol::HEADER_X_POWERED_BY, $poweredBy);
        // servlet path === relative path to the template name
        $template = $servletRequest->getServletPath();
        // check if the template is available
        if (!file_exists($pathToTemplate = $this->getWebappPath() . $template)) {
            if (!file_exists($pathToTemplate = $this->getAppBase() . $template)) {
                if (!file_exists($pathToTemplate = $this->getBaseDirectory() . $template)) {
                    throw new ServletException(sprintf('Can\'t load requested template \'%s\'', $template));
                }
            }
        }
        // process the template
        ob_start();
        require $pathToTemplate;
        // add the servlet name to the response
        $servletResponse->appendBodyStream(ob_get_clean());
    }