001package org.nuxeo.template.xdocreport.jaxrs; 002 003import java.io.IOException; 004import java.io.OutputStream; 005import java.lang.annotation.Annotation; 006import java.lang.reflect.Type; 007 008import javax.ws.rs.WebApplicationException; 009import javax.ws.rs.core.MediaType; 010import javax.ws.rs.core.MultivaluedMap; 011import javax.ws.rs.ext.Provider; 012 013import org.nuxeo.ecm.platform.web.common.requestcontroller.filter.BufferingServletOutputStream; 014 015import fr.opensagres.xdocreport.remoting.resources.domain.LargeBinaryData; 016import fr.opensagres.xdocreport.remoting.resources.services.jaxrs.LargeBinaryDataMessageBodyWriter; 017 018@Provider 019public class NuxeoLargeBinaryDataMessageWriter extends LargeBinaryDataMessageBodyWriter { 020 021 @Override 022 public void writeTo(LargeBinaryData t, Class<?> type, Type genericType, Annotation[] annotations, 023 MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) 024 throws IOException, WebApplicationException { 025 BufferingServletOutputStream.stopBufferingThread(); 026 httpHeaders.add("X-Nuxeo", "WebEngine-JAXRS"); 027 super.writeTo(t, type, genericType, annotations, mediaType, httpHeaders, entityStream); 028 } 029}