package cn.dreampie.route.render; import cn.dreampie.common.Render; import cn.dreampie.common.http.ContentType; import cn.dreampie.common.http.HttpMessage; import cn.dreampie.common.http.HttpRequest; import cn.dreampie.common.http.HttpResponse; import cn.dreampie.common.http.exception.HttpException; import cn.dreampie.common.http.result.ImageResult; import cn.dreampie.log.Logger; import java.awt.image.RenderedImage; /** * Created by ice on 14-12-29. */ public class ImageRender extends Render { private static final Logger logger = Logger.getLogger(ImageRender.class); public void render(HttpRequest request, HttpResponse response, Object out) { if (out != null) { ImageResult<RenderedImage> result = null; if (out instanceof RenderedImage) { result = new ImageResult<RenderedImage>((RenderedImage) out); } if (result == null) { logger.error("Image not support '" + out + "'."); throw new HttpException(HttpMessage.NOT_FOUND); } else { response.setContentType(ContentType.typeOf(result.getType()).value()); write(request, response, result.getType(), result.getResult()); } } } }