Michael Pasternak has posted comments on this change. Change subject: restapi: Include charset in JSON Content-Type ......................................................................
Patch Set 3: Code-Review-1 (2 comments) .................................................... File backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resteasy/json/JsonProvider.java Line 38: @Produces(MediaType.APPLICATION_JSON) Line 39: public class JsonProvider extends JacksonJsonProvider { Line 40: // This is the content type that we will use in all the responses: Line 41: private static final String CONTENT_TYPE_HEADER = "Content-Type"; Line 42: private static final MediaType CONTENT_TYPE_MEDIA = MediaType.valueOf(MediaType.APPLICATION_JSON + "; charset=UTF-8"); - how can we be sure that it's always UTF-8? - what if user asks for another Char-Set (it is supported by RESTeasy and we may support it one day as well), we will replay with another Char-Set and will say it's UTF-8 ... Line 43: Line 44: public JsonProvider() { Line 45: // Note that we can't specify here the use of JAXB annotations as it is ignored if the mapper is changed later, Line 46: // thus we need to call the parent constructor first, without a mapper, and then create the mapper and pass it Line 77: MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException { Line 78: // Jackson always generates the output using UTF-8, regardless of what is requested, so we can safely set the Line 79: // charset to UTF-8: Line 80: httpHeaders.putSingle(CONTENT_TYPE_HEADER, CONTENT_TYPE_MEDIA); Line 81: super.writeTo(value, type, genericType, annotations, mediaType, httpHeaders, entityStream); - i wonder why we have to do this manually? you can do it at least by specifying charset in @Produces [1] and i'm pretty sure there are other infras making server specifying Char-Set automatically in every reply, - btw it should also work for xml and yaml (since we should not maintain all content-type wrappers manually, former is really necessary) thanks. [1] @Produces({ "application/json; charset=UTF-8", "application/xml; charset=UTF-8", "application/yaml; charset=UTF-8" }) Line 82: } -- To view, visit http://gerrit.ovirt.org/20104 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I9156fe168451f103219902b821236b5a4703819d Gerrit-PatchSet: 3 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Juan Hernandez <juan.hernan...@redhat.com> Gerrit-Reviewer: Juan Hernandez <juan.hernan...@redhat.com> Gerrit-Reviewer: Michael Pasternak <mpast...@redhat.com> Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches