package org.esmerilprogramming.overtown.http; import freemarker.template.TemplateException; import io.undertow.server.HttpServerExchange; import java.io.IOException; import java.nio.ByteBuffer; import org.esmerilprogramming.overtown.server.ConfigurationHolder; import org.esmerilprogramming.overtown.view.ViewAttributes; import org.esmerilprogramming.overtown.view.ViewParser; public class HttpResponse extends Response { public HttpResponse(HttpServerExchange exchange, ViewAttributes viewAttributes) { super(exchange, viewAttributes); super.setContentType( "text/html; charset=UTF-8;" ); } /** * This method should not simply draw a template, it should also forward to a diferent method if necessary */ @Deprecated @Override public void fowardTo(String viewName) { try { sendAsResponse( new ViewParser( ConfigurationHolder.getInstance() ).parse(viewAttributes, viewName ) ); } catch (TemplateException | IOException e ) { e.printStackTrace(); throw new RuntimeException("Sorry but an error occurred, verify if the view exists and try again"); } } @Override public void sendAsResponse(String content) { exchange.getResponseSender().send(content); } @Override public void sendAsResponse(ByteBuffer buffer) { exchange.getResponseSender().send( buffer ); } }