001 package com.khubla.pragmatach.framework.controller.impl.streaming; 002 003 import java.io.InputStream; 004 import java.io.OutputStream; 005 006 import com.khubla.pragmatach.framework.api.PragmatachException; 007 import com.khubla.pragmatach.framework.api.Response; 008 import com.khubla.pragmatach.framework.controller.impl.AbstractController; 009 010 /** 011 * @author tome 012 */ 013 public abstract class AbstractStreamingController extends AbstractController implements StreamingController { 014 /** 015 * render the response 016 */ 017 public Response render() throws PragmatachException { 018 try { 019 return new StreamingResponse(getCacheHeaders(), this, getRequest().getInputStream()); 020 } catch (final Exception e) { 021 throw new PragmatachException("Exception in render", e); 022 } 023 } 024 025 /** 026 * the abstract method 027 */ 028 @Override 029 public abstract void render(InputStream httpInputStream, OutputStream httpOutputStream) throws PragmatachException; 030 }