Set encoding in response header

master
David BRASSELY 2013-08-07 17:28:10 +02:00
parent eb82310f5c
commit 3e1ad1cd00
2 changed files with 25 additions and 0 deletions

View File

@ -366,6 +366,7 @@ public class RestComponent implements Component, ComponentLifeCycle {
final Map<String, String> initParams = new HashMap<String, String>();
initParams.put("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jbi.restbc.jbiadapter.inbound.JerseyRootResourceApplication");
initParams.put("com.sun.jersey.spi.container.ContainerResponseFilters", "com.sun.jbi.restbc.jbiadapter.inbound.CharsetResponseFilter");
for (Map.Entry<String, String> e : initParams.entrySet()) {
adapter.addInitParameter(e.getKey(), e.getValue());
@ -459,6 +460,7 @@ public class RestComponent implements Component, ComponentLifeCycle {
final Map<String, String> initParams = new HashMap<String, String>();
initParams.put("com.sun.jersey.config.property.resourceConfigClass", "com.sun.jbi.restbc.jbiadapter.inbound.JerseyRootResourceApplication");
initParams.put("com.sun.jersey.spi.container.ContainerResponseFilters", "com.sun.jbi.restbc.jbiadapter.inbound.CharsetResponseFilter");
for (Map.Entry<String, String> e : initParams.entrySet()) {
adapter.addInitParameter(e.getKey(), e.getValue());

View File

@ -0,0 +1,23 @@
package com.sun.jbi.restbc.jbiadapter.inbound;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ContainerResponse;
import com.sun.jersey.spi.container.ContainerResponseFilter;
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
/**
*
* @author David BRASSELY (brasseld at gmail.com)
* @author OpenESB Community
*/
public class CharsetResponseFilter implements ContainerResponseFilter {
public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
MediaType contentType = (MediaType) response.getHttpHeaders().get(HttpHeaders.CONTENT_TYPE).iterator().next();
response.getHttpHeaders().putSingle("Content-Type", contentType.toString() + ";charset=UTF-8");
return response;
}
}