@@ -215,7 +215,18 @@ open class NylasClient(
215215 queryParams : IQueryParams ? = null,
216216 overrides : RequestOverrides ? = null,
217217 ): T {
218- val url = buildUrl(path, queryParams, overrides)
218+ val url = buildRawUrl(path, queryParams, overrides)
219+ return executeRequest(url, HttpMethod .GET , null , resultType, overrides)
220+ }
221+
222+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
223+ internal open fun <T > executeGetEncoded (
224+ path : String ,
225+ resultType : Type ,
226+ queryParams : IQueryParams ? = null,
227+ overrides : RequestOverrides ? = null,
228+ ): T {
229+ val url = buildEncodedUrl(path, queryParams, overrides)
219230 return executeRequest(url, HttpMethod .GET , null , resultType, overrides)
220231 }
221232
@@ -236,7 +247,20 @@ open class NylasClient(
236247 queryParams : IQueryParams ? = null,
237248 overrides : RequestOverrides ? = null,
238249 ): T {
239- val url = buildUrl(path, queryParams, overrides)
250+ val url = buildRawUrl(path, queryParams, overrides)
251+ val jsonBody = if (requestBody != null ) JsonHelper .jsonRequestBody(requestBody) else null
252+ return executeRequest(url, HttpMethod .PUT , jsonBody, resultType, overrides)
253+ }
254+
255+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
256+ internal open fun <T > executePutEncoded (
257+ path : String ,
258+ resultType : Type ,
259+ requestBody : String? = null,
260+ queryParams : IQueryParams ? = null,
261+ overrides : RequestOverrides ? = null,
262+ ): T {
263+ val url = buildEncodedUrl(path, queryParams, overrides)
240264 val jsonBody = if (requestBody != null ) JsonHelper .jsonRequestBody(requestBody) else null
241265 return executeRequest(url, HttpMethod .PUT , jsonBody, resultType, overrides)
242266 }
@@ -258,7 +282,20 @@ open class NylasClient(
258282 queryParams : IQueryParams ? = null,
259283 overrides : RequestOverrides ? = null,
260284 ): T {
261- val url = buildUrl(path, queryParams, overrides)
285+ val url = buildRawUrl(path, queryParams, overrides)
286+ val jsonBody = if (requestBody != null ) JsonHelper .jsonRequestBody(requestBody) else null
287+ return executeRequest(url, HttpMethod .PATCH , jsonBody, resultType, overrides)
288+ }
289+
290+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
291+ internal open fun <T > executePatchEncoded (
292+ path : String ,
293+ resultType : Type ,
294+ requestBody : String? = null,
295+ queryParams : IQueryParams ? = null,
296+ overrides : RequestOverrides ? = null,
297+ ): T {
298+ val url = buildEncodedUrl(path, queryParams, overrides)
262299 val jsonBody = if (requestBody != null ) JsonHelper .jsonRequestBody(requestBody) else null
263300 return executeRequest(url, HttpMethod .PATCH , jsonBody, resultType, overrides)
264301 }
@@ -280,7 +317,23 @@ open class NylasClient(
280317 queryParams : IQueryParams ? = null,
281318 overrides : RequestOverrides ? = null,
282319 ): T {
283- val url = buildUrl(path, queryParams, overrides)
320+ val url = buildRawUrl(path, queryParams, overrides)
321+ var jsonBody = ByteArray (0 ).toRequestBody(null )
322+ if (requestBody != null ) {
323+ jsonBody = JsonHelper .jsonRequestBody(requestBody)
324+ }
325+ return executeRequest(url, HttpMethod .POST , jsonBody, resultType, overrides)
326+ }
327+
328+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
329+ internal open fun <T > executePostEncoded (
330+ path : String ,
331+ resultType : Type ,
332+ requestBody : String? = null,
333+ queryParams : IQueryParams ? = null,
334+ overrides : RequestOverrides ? = null,
335+ ): T {
336+ val url = buildEncodedUrl(path, queryParams, overrides)
284337 var jsonBody = ByteArray (0 ).toRequestBody(null )
285338 if (requestBody != null ) {
286339 jsonBody = JsonHelper .jsonRequestBody(requestBody)
@@ -303,7 +356,18 @@ open class NylasClient(
303356 queryParams : IQueryParams ? = null,
304357 overrides : RequestOverrides ? = null,
305358 ): T {
306- val url = buildUrl(path, queryParams, overrides)
359+ val url = buildRawUrl(path, queryParams, overrides)
360+ return executeRequest(url, HttpMethod .DELETE , null , resultType, overrides)
361+ }
362+
363+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
364+ internal open fun <T > executeDeleteEncoded (
365+ path : String ,
366+ resultType : Type ,
367+ queryParams : IQueryParams ? = null,
368+ overrides : RequestOverrides ? = null,
369+ ): T {
370+ val url = buildEncodedUrl(path, queryParams, overrides)
307371 return executeRequest(url, HttpMethod .DELETE , null , resultType, overrides)
308372 }
309373
@@ -324,7 +388,20 @@ open class NylasClient(
324388 queryParams : IQueryParams ? = null,
325389 overrides : RequestOverrides ? = null,
326390 ): T {
327- val url = buildUrl(path, queryParams, overrides)
391+ val url = buildRawUrl(path, queryParams, overrides)
392+ val jsonBody = JsonHelper .jsonRequestBody(requestBody)
393+ return executeRequest(url, HttpMethod .DELETE , jsonBody, resultType, overrides)
394+ }
395+
396+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
397+ internal open fun <T > executeDeleteEncoded (
398+ path : String ,
399+ resultType : Type ,
400+ requestBody : String ,
401+ queryParams : IQueryParams ? = null,
402+ overrides : RequestOverrides ? = null,
403+ ): T {
404+ val url = buildEncodedUrl(path, queryParams, overrides)
328405 val jsonBody = JsonHelper .jsonRequestBody(requestBody)
329406 return executeRequest(url, HttpMethod .DELETE , jsonBody, resultType, overrides)
330407 }
@@ -348,7 +425,20 @@ open class NylasClient(
348425 queryParams : IQueryParams ? = null,
349426 overrides : RequestOverrides ? = null,
350427 ): T {
351- val url = buildUrl(path, queryParams, overrides)
428+ val url = buildRawUrl(path, queryParams, overrides)
429+ return executeRequest(url, method, requestBody, resultType, overrides)
430+ }
431+
432+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
433+ internal open fun <T > executeFormRequestEncoded (
434+ path : String ,
435+ method : HttpMethod ,
436+ requestBody : RequestBody ,
437+ resultType : Type ,
438+ queryParams : IQueryParams ? = null,
439+ overrides : RequestOverrides ? = null,
440+ ): T {
441+ val url = buildEncodedUrl(path, queryParams, overrides)
352442 return executeRequest(url, method, requestBody, resultType, overrides)
353443 }
354444
@@ -406,7 +496,17 @@ open class NylasClient(
406496 queryParams : IQueryParams ? = null,
407497 overrides : RequestOverrides ? = null,
408498 ): ResponseBody {
409- val url = buildUrl(path, queryParams, overrides)
499+ val url = buildRawUrl(path, queryParams, overrides)
500+ return this .executeRequestRawResponse(url, HttpMethod .GET , null , overrides)
501+ }
502+
503+ @Throws(AbstractNylasApiError ::class , NylasSdkTimeoutError ::class )
504+ internal open fun downloadResponseEncoded (
505+ path : String ,
506+ queryParams : IQueryParams ? = null,
507+ overrides : RequestOverrides ? = null,
508+ ): ResponseBody {
509+ val url = buildEncodedUrl(path, queryParams, overrides)
410510 return this .executeRequestRawResponse(url, HttpMethod .GET , null , overrides)
411511 }
412512
@@ -526,14 +626,25 @@ open class NylasClient(
526626 )
527627 }
528628
529- private fun buildUrl (path : String , queryParams : IQueryParams ? , overrides : RequestOverrides ? ): HttpUrl .Builder {
530- // Sets the API URI if it is provided in the overrides.
629+ private fun buildRawUrl (path : String , queryParams : IQueryParams ? , overrides : RequestOverrides ? ): HttpUrl .Builder {
531630 var url = if (overrides?.apiUri != null ) {
532631 overrides.apiUri.toHttpUrl().newBuilder().addPathSegments(path)
533632 } else {
534633 newUrlBuilder().addPathSegments(path)
535634 }
635+ if (queryParams != null ) {
636+ url = addQueryParams(url, queryParams.convertToMap())
637+ }
536638
639+ return url
640+ }
641+
642+ private fun buildEncodedUrl (path : String , queryParams : IQueryParams ? , overrides : RequestOverrides ? ): HttpUrl .Builder {
643+ var url = if (overrides?.apiUri != null ) {
644+ overrides.apiUri.toHttpUrl().newBuilder().addEncodedPathSegments(path)
645+ } else {
646+ newUrlBuilder().addEncodedPathSegments(path)
647+ }
537648 if (queryParams != null ) {
538649 url = addQueryParams(url, queryParams.convertToMap())
539650 }
0 commit comments