1717 */
1818package com .amilesend .tmdb .client .api ;
1919
20- import com .amilesend .tmdb .client .connection .Connection ;
20+ import com .amilesend .client .connection .Connection ;
21+ import com .amilesend .client .parse .parser .BasicParser ;
2122import com .amilesend .tmdb .client .model .BodyBasedRequest ;
2223import com .amilesend .tmdb .client .model .QueryParameterBasedRequest ;
23- import com .amilesend .tmdb .client .parse .parser . BasicParser ;
24+ import com .amilesend .tmdb .client .parse .GsonFactory ;
2425import lombok .Getter ;
2526import lombok .NonNull ;
2627import lombok .RequiredArgsConstructor ;
2930import okhttp3 .RequestBody ;
3031import org .apache .commons .lang3 .Validate ;
3132
32- import static com .amilesend .tmdb . client .connection .Connection .JSON_MEDIA_TYPE ;
33+ import static com .amilesend .client .connection .Connection .JSON_MEDIA_TYPE ;
3334
3435/**
3536 * The API Base class used to simplify the construction of API URLs for the {@link Connection}.
@@ -41,7 +42,7 @@ public abstract class ApiBase {
4142 /** The connection that wraps the underlying HTTP client. */
4243 @ NonNull
4344 @ Getter
44- private final Connection connection ;
45+ private final Connection < GsonFactory > connection ;
4546
4647 /**
4748 * Executes a GET request for the given URL path and expected response type class.
@@ -109,7 +110,9 @@ protected <T> T executePost(
109110 final HttpUrl .Builder urlBuilder = HttpUrl .parse (urlPath ).newBuilder ();
110111 final Request httpRequest = connection .newRequestBuilder ()
111112 .url (request .populateQueryParameters (urlBuilder ).build ())
112- .post (RequestBody .create (connection .getGson ().toJson (request ), JSON_MEDIA_TYPE ))
113+ .post (RequestBody .create (
114+ connection .getGsonFactory ().getInstance (connection ).toJson (request ),
115+ JSON_MEDIA_TYPE ))
113116 .build ();
114117 return connection .execute (httpRequest , new BasicParser <>(responseType ));
115118 }
@@ -135,7 +138,9 @@ protected <T> T executeDelete(
135138
136139 final Request .Builder requestBuilder = connection .newRequestBuilder ().url (httpUrl );
137140 if (request instanceof BodyBasedRequest ) {
138- requestBuilder .delete (RequestBody .create (connection .getGson ().toJson (request ), JSON_MEDIA_TYPE ));
141+ requestBuilder .delete (RequestBody .create (
142+ connection .getGsonFactory ().getInstance (connection ).toJson (request ),
143+ JSON_MEDIA_TYPE ));
139144 } else {
140145 requestBuilder .delete ();
141146 }
0 commit comments