diff --git a/.fern/metadata.json b/.fern/metadata.json index 3f9cdd9..3430f57 100644 --- a/.fern/metadata.json +++ b/.fern/metadata.json @@ -10,9 +10,9 @@ ], "retry-status-codes": "legacy" }, - "originGitCommit": "b98152f4744d4752cacd615b76d9524eae3eb3a3", + "originGitCommit": "fa2fad94474bee68b5a4c87f25775ff6701a0fe6", "originGitCommitIsDirty": false, "invokedBy": "ci", "ciProvider": "github", - "sdkVersion": "2.0.3" + "sdkVersion": "2.0.4" } \ No newline at end of file diff --git a/README.md b/README.md index 4f03097..5ee2fb3 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Add the dependency in your `build.gradle` file: ```groovy dependencies { - implementation 'com.pipedream:pipedream:2.0.3' + implementation 'com.pipedream:pipedream:2.0.4' } ``` @@ -42,7 +42,7 @@ Add the dependency in your `pom.xml` file: com.pipedream pipedream - 2.0.3 + 2.0.4 ``` diff --git a/build.gradle b/build.gradle index 40b60b0..d037e3f 100644 --- a/build.gradle +++ b/build.gradle @@ -48,7 +48,7 @@ java { group = 'com.pipedream' -version = '2.0.3' +version = '2.0.4' jar { dependsOn(":generatePomFileForMavenPublication") @@ -79,7 +79,7 @@ publishing { maven(MavenPublication) { groupId = 'com.pipedream' artifactId = 'pipedream' - version = '2.0.3' + version = '2.0.4' from components.java pom { name = 'pipedream' diff --git a/src/main/java/com/pipedream/api/core/ClientOptions.java b/src/main/java/com/pipedream/api/core/ClientOptions.java index 777c826..09c0bdf 100644 --- a/src/main/java/com/pipedream/api/core/ClientOptions.java +++ b/src/main/java/com/pipedream/api/core/ClientOptions.java @@ -41,10 +41,10 @@ private ClientOptions( this.headers.putAll(headers); this.headers.putAll(new HashMap() { { - put("User-Agent", "com.pipedream:pipedream/2.0.3"); + put("User-Agent", "com.pipedream:pipedream/2.0.4"); put("X-Fern-Language", "JAVA"); put("X-Fern-SDK-Name", "com.pipedream.fern:api-sdk"); - put("X-Fern-SDK-Version", "2.0.3"); + put("X-Fern-SDK-Version", "2.0.4"); } }); this.headerSuppliers = headerSuppliers; diff --git a/src/main/java/com/pipedream/api/resources/oauthtokens/AsyncRawOauthTokensClient.java b/src/main/java/com/pipedream/api/resources/oauthtokens/AsyncRawOauthTokensClient.java index 6a2f3a9..1e00c9d 100644 --- a/src/main/java/com/pipedream/api/resources/oauthtokens/AsyncRawOauthTokensClient.java +++ b/src/main/java/com/pipedream/api/resources/oauthtokens/AsyncRawOauthTokensClient.java @@ -11,6 +11,7 @@ import com.pipedream.api.core.MediaTypes; import com.pipedream.api.core.ObjectMappers; import com.pipedream.api.core.RequestOptions; +import com.pipedream.api.errors.TooManyRequestsError; import com.pipedream.api.resources.oauthtokens.requests.CreateOAuthTokenOpts; import com.pipedream.api.types.CreateOAuthTokenResponse; import java.io.IOException; @@ -83,6 +84,15 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO response)); return; } + try { + if (response.code() == 429) { + future.completeExceptionally(new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response)); + return; + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); future.completeExceptionally(new BaseClientApiException( "Error with status code " + response.code(), response.code(), errorBody, response)); diff --git a/src/main/java/com/pipedream/api/resources/oauthtokens/RawOauthTokensClient.java b/src/main/java/com/pipedream/api/resources/oauthtokens/RawOauthTokensClient.java index 6d53c85..9b07f66 100644 --- a/src/main/java/com/pipedream/api/resources/oauthtokens/RawOauthTokensClient.java +++ b/src/main/java/com/pipedream/api/resources/oauthtokens/RawOauthTokensClient.java @@ -11,6 +11,7 @@ import com.pipedream.api.core.MediaTypes; import com.pipedream.api.core.ObjectMappers; import com.pipedream.api.core.RequestOptions; +import com.pipedream.api.errors.TooManyRequestsError; import com.pipedream.api.resources.oauthtokens.requests.CreateOAuthTokenOpts; import com.pipedream.api.types.CreateOAuthTokenResponse; import java.io.IOException; @@ -75,6 +76,14 @@ public BaseClientHttpResponse create( ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateOAuthTokenResponse.class), response); } + try { + if (response.code() == 429) { + throw new TooManyRequestsError( + ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class), response); + } + } catch (JsonProcessingException ignored) { + // unable to map error response, throwing generic error + } Object errorBody = ObjectMappers.parseErrorBody(responseBodyString); throw new BaseClientApiException( "Error with status code " + response.code(), response.code(), errorBody, response);