From 17f27274c5e4cde0a0bb87f4063f4fffda494ff4 Mon Sep 17 00:00:00 2001 From: Tom Reznik Date: Mon, 1 Jun 2015 14:31:12 +0200 Subject: [PATCH] Default to UTF-8 charset --- src/main/java/com/contentful/java/cda/BaseModule.java | 8 +++++--- src/main/java/com/contentful/java/cda/Constants.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/contentful/java/cda/BaseModule.java b/src/main/java/com/contentful/java/cda/BaseModule.java index d41290d1..55ce8be3 100644 --- a/src/main/java/com/contentful/java/cda/BaseModule.java +++ b/src/main/java/com/contentful/java/cda/BaseModule.java @@ -24,6 +24,7 @@ import retrofit.client.Response; import rx.Observable; +import static com.contentful.java.cda.Constants.DEFAULT_CHARSET; import static com.contentful.java.cda.RxExtensions.DefFunc; import static com.contentful.java.cda.RxExtensions.defer; import static com.contentful.java.cda.RxExtensions.subscribe; @@ -88,7 +89,8 @@ public T fetchOne(String identifier) { context.service.fetchResource(context.spaceId, getResourcePath(), identifier); try { - return prepare(createCdaResource(new InputStreamReader(response.getBody().in()))); + return prepare(createCdaResource(new InputStreamReader(response.getBody().in(), + DEFAULT_CHARSET))); } catch (Exception e) { throw RetrofitError.unexpectedError(response.getUrl(), e); } @@ -101,10 +103,10 @@ CDAArray fetchArray(String type, Map query) { try { CDAArray array = - context.gson.fromJson(new InputStreamReader(response.getBody().in()), CDAArray.class); + context.gson.fromJson(new InputStreamReader(response.getBody().in(), DEFAULT_CHARSET), + CDAArray.class); array.setOriginalUrl(response.getUrl()); - return prepare(new ArrayParser(array, context).call()); } catch (Exception e) { throw RetrofitError.unexpectedError(response.getUrl(), e); diff --git a/src/main/java/com/contentful/java/cda/Constants.java b/src/main/java/com/contentful/java/cda/Constants.java index 266e990b..271efa6d 100644 --- a/src/main/java/com/contentful/java/cda/Constants.java +++ b/src/main/java/com/contentful/java/cda/Constants.java @@ -58,6 +58,7 @@ public enum CDAFieldType { // Configuration public static final String ENDPOINT_CDA = "cdn.contentful.com"; public static final String ENDPOINT_PREVIEW = "preview.contentful.com"; + public static final String DEFAULT_CHARSET = "UTF-8"; public static final String DEFAULT_LOCALE = "en-US"; // Resource types