diff --git a/src/main/java/com/commafeed/frontend/rest/JsonProvider.java b/src/main/java/com/commafeed/frontend/rest/JsonProvider.java new file mode 100644 index 00000000..39831bcf --- /dev/null +++ b/src/main/java/com/commafeed/frontend/rest/JsonProvider.java @@ -0,0 +1,34 @@ +package com.commafeed.frontend.rest; + +import java.io.IOException; +import java.io.OutputStream; +import java.lang.annotation.Annotation; +import java.lang.reflect.Type; + +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.ext.Provider; + +import org.apache.http.HttpHeaders; + +import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; + +@Provider +public class JsonProvider extends JacksonJsonProvider { + + @Override + public void writeTo(Object value, Class type, Type genericType, + Annotation[] annotations, MediaType mediaType, + MultivaluedMap httpHeaders, + OutputStream entityStream) throws IOException { + + httpHeaders.putSingle(HttpHeaders.CONTENT_TYPE, mediaType.toString() + + ";charset=UTF-8"); + httpHeaders.putSingle(HttpHeaders.CACHE_CONTROL, "no-cache"); + httpHeaders.putSingle(HttpHeaders.PRAGMA, "no-cache"); + + super.writeTo(value, type, genericType, annotations, mediaType, + httpHeaders, entityStream); + } + +} diff --git a/src/main/java/com/commafeed/frontend/rest/RESTApplication.java b/src/main/java/com/commafeed/frontend/rest/RESTApplication.java index d73db166..d03e344d 100644 --- a/src/main/java/com/commafeed/frontend/rest/RESTApplication.java +++ b/src/main/java/com/commafeed/frontend/rest/RESTApplication.java @@ -13,7 +13,6 @@ import com.commafeed.frontend.rest.resources.FeedREST; import com.commafeed.frontend.rest.resources.PubSubHubbubCallbackREST; import com.commafeed.frontend.rest.resources.ServerREST; import com.commafeed.frontend.rest.resources.UserREST; -import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider; import com.google.common.collect.Sets; import com.wordnik.swagger.jaxrs.JaxrsApiReader; @@ -27,7 +26,7 @@ public class RESTApplication extends Application { @Override public Set> getClasses() { Set> set = Sets.newHashSet(); - set.add(JacksonJsonProvider.class); + set.add(JsonProvider.class); set.add(EntryREST.class); set.add(FeedREST.class);