diff --git a/.fern/metadata.json b/.fern/metadata.json
new file mode 100644
index 00000000..865cf50a
--- /dev/null
+++ b/.fern/metadata.json
@@ -0,0 +1,16 @@
+{
+ "cliVersion": "2.2.5",
+ "generatorName": "fernapi/fern-java-sdk",
+ "generatorVersion": "3.18.5",
+ "generatorConfig": {
+ "base-api-exception-class-name": "SquareApiException",
+ "base-exception-class-name": "SquareException",
+ "client-class-name": "SquareClient",
+ "inline-path-parameters": true,
+ "inline-file-properties": true,
+ "package-prefix": "com.squareup.square",
+ "package-layout": "flat",
+ "enable-forward-compatible-enums": true,
+ "publish-to": "central"
+ }
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index da5c11ec..f5432b72 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,31 @@
The Square Java library provides convenient access to the Square APIs from Java.
+## Table of Contents
+
+- [Requirements](#requirements)
+- [Installation](#installation)
+- [Usage](#usage)
+- [Instantiation](#instantiation)
+- [Enums](#enums)
+- [Versioning](#versioning)
+- [Automatic Pagination](#automatic-pagination)
+- [Retries](#retries)
+- [Timeouts](#timeouts)
+- [Environments](#environments)
+- [Base Url](#base-url)
+- [Exception Handling](#exception-handling)
+- [Webhook Signature Verification](#webhook-signature-verification)
+- [Reference](#reference)
+- [Legacy Sdk](#legacy-sdk)
+- [Advanced](#advanced)
+ - [Custom Client](#custom-client)
+ - [Retries](#retries)
+ - [Timeouts](#timeouts)
+ - [Custom Headers](#custom-headers)
+ - [Access Raw Response Data](#access-raw-response-data)
+- [Contributing](#contributing)
+
## Requirements
Use of the Square Java SDK requires:
@@ -31,7 +56,7 @@ Add the dependency in your `pom.xml` file:
com.squareup
square
- 45.1.0.20251016
+ 45.1.1.20251016
```
@@ -278,9 +303,9 @@ When the API returns a non-success status code (4xx or 5xx response), an API exc
```java
import com.squareup.square.core.SquareApiException;
-try {
+try{
client.payments().create(...);
-} catch (SquareApiException e) {
+} catch (SquareApiException e){
// Do something with the API exception...
}
```
@@ -336,8 +361,8 @@ Gradle:
```groovy
dependencies {
- implementation 'com.squareup:square:45.1.0.20251016'
- implementation 'com.squareup:square-legacy:45.1.0.20251016'
+ implementation 'com.squareup:square:45.1.1.20251016'
+ implementation 'com.squareup:square-legacy:45.1.1.20251016'
}
```
@@ -347,12 +372,12 @@ Maven:
com.squareup
square
- 45.1.0.20251016
+ 45.1.1.20251016
com.squareup
square-legacy
- 45.1.0.20251016
+ 45.1.1.20251016
```
@@ -364,7 +389,7 @@ Maven:
### Custom Client
-This SDK is built to work with any instance of `OkHttpClient`. By default, if no client is provided, the SDK will construct one.
+This SDK is built to work with any instance of `OkHttpClient`. By default, if no client is provided, the SDK will construct one.
However, you can pass your own client like so:
```java
@@ -383,7 +408,9 @@ SquareClient client = SquareClient
The SDK is instrumented with automatic retries with exponential backoff. A request will be retried as long
as the request is deemed retryable and the number of retry attempts has not grown larger than the configured
-retry limit (default: 2).
+retry limit (default: 2). Before defaulting to exponential backoff, the SDK will first attempt to respect
+the `Retry-After` header (as either in seconds or as an HTTP date), and then the `X-RateLimit-Reset` header
+(as a Unix timestamp in epoch seconds); failing both of those, it will fall back to exponential backoff.
A request is deemed retryable when any of the following HTTP status codes is returned:
@@ -452,6 +479,19 @@ client.payments().create(
);
```
+### Access Raw Response Data
+
+The SDK provides access to raw response data, including headers, through the `withRawResponse()` method.
+The `withRawResponse()` method returns a raw client that wraps all responses with `body()` and `headers()` methods.
+(A normal client's `response` is identical to a raw client's `response.body()`.)
+
+```java
+CreateHttpResponse response = client.payments().withRawResponse().create(...);
+
+System.out.println(response.body());
+System.out.println(response.headers().get("X-My-Header"));
+```
+
## Contributing
While we value open-source contributions to this SDK, this library is generated programmatically.
diff --git a/build.gradle b/build.gradle
index ed6b345e..0e87870a 100644
--- a/build.gradle
+++ b/build.gradle
@@ -14,10 +14,10 @@ repositories {
}
dependencies {
- api 'com.squareup.okhttp3:okhttp:4.12.0'
- api 'com.fasterxml.jackson.core:jackson-databind:2.17.2'
- api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.2'
- api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.2'
+ api 'com.squareup.okhttp3:okhttp:5.2.1'
+ api 'com.fasterxml.jackson.core:jackson-databind:2.18.2'
+ api 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.18.2'
+ api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2'
@@ -47,7 +47,7 @@ java {
group = 'com.squareup'
-version = '45.1.0.20251016'
+version = '45.1.1.20251016'
jar {
dependsOn(":generatePomFileForMavenPublication")
@@ -78,7 +78,7 @@ publishing {
maven(MavenPublication) {
groupId = 'com.squareup'
artifactId = 'square'
- version = '45.1.0.20251016'
+ version = '45.1.1.20251016'
from components.java
pom {
name = 'square'
diff --git a/reference.md b/reference.md
index b341cd67..cad48580 100644
--- a/reference.md
+++ b/reference.md
@@ -817,7 +817,7 @@ client.applePay().registerDomain(
## BankAccounts
-client.bankAccounts.list() -> ListBankAccountsResponse
+client.bankAccounts.list() -> SyncPagingIterable<BankAccount>
-
@@ -1030,7 +1030,7 @@ client.bankAccounts().get(
## Bookings
-client.bookings.list() -> ListBookingsResponse
+client.bookings.list() -> SyncPagingIterable<Booking>
-
@@ -1759,7 +1759,7 @@ client.bookings().cancel(
## Cards
-client.cards.list() -> ListCardsResponse
+client.cards.list() -> SyncPagingIterable<Card>
-
@@ -2493,7 +2493,7 @@ client.catalog().info();
-client.catalog.list() -> ListCatalogResponse
+client.catalog.list() -> SyncPagingIterable<CatalogObject>
-
@@ -3184,7 +3184,7 @@ At least one of `taxes_to_enable` or `taxes_to_disable` must be specified.
## Channels
-client.channels.list() -> ListChannelsResponse
+client.channels.list() -> SyncPagingIterable<Channel>
-
@@ -3403,7 +3403,7 @@ client.channels().get(
## Customers
-client.customers.list() -> ListCustomersResponse
+client.customers.list() -> SyncPagingIterable<Customer>
-
@@ -4575,7 +4575,7 @@ As a best practice, you should include this parameter to enable [optimistic conc
## Devices
-client.devices.list() -> ListDevicesResponse
+client.devices.list() -> SyncPagingIterable<Device>
-
@@ -4730,7 +4730,7 @@ client.devices().get(
## Disputes
-client.disputes.list() -> ListDisputesResponse
+client.disputes.list() -> SyncPagingIterable<Dispute>
-
@@ -5151,7 +5151,7 @@ client.disputes().submitEvidence(
## Employees
-client.employees.list() -> ListEmployeesResponse
+client.employees.list() -> SyncPagingIterable<Employee>
-
@@ -5521,7 +5521,7 @@ client.events().listEventTypes(
## GiftCards
-client.giftCards.list() -> ListGiftCardsResponse
+client.giftCards.list() -> SyncPagingIterable<GiftCard>
-
@@ -6502,7 +6502,7 @@ client.inventory().batchCreateChanges(
-client.inventory.batchGetChanges(request) -> BatchGetInventoryChangesResponse
+client.inventory.batchGetChanges(request) -> SyncPagingIterable<InventoryChange>
-
@@ -6589,7 +6589,7 @@ client.inventory().batchGetChanges(
-client.inventory.batchGetCounts(request) -> BatchGetInventoryCountsResponse
+client.inventory.batchGetCounts(request) -> SyncPagingIterable<InventoryCount>
-
@@ -6854,7 +6854,7 @@ client.inventory().getTransfer(
-client.inventory.get(catalogObjectId) -> GetInventoryCountResponse
+client.inventory.get(catalogObjectId) -> SyncPagingIterable<InventoryCount>
-
@@ -6942,7 +6942,7 @@ See the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagin
-client.inventory.changes(catalogObjectId) -> GetInventoryChangesResponse
+client.inventory.changes(catalogObjectId) -> SyncPagingIterable<InventoryChange>
-
@@ -7040,7 +7040,7 @@ See the [Pagination](https://developer.squareup.com/docs/working-with-apis/pagin
## Invoices
-client.invoices.list() -> ListInvoicesResponse
+client.invoices.list() -> SyncPagingIterable<Invoice>
-
@@ -9738,7 +9738,7 @@ For more information, see [Pagination](https://developer.squareup.com/docs/build
## Merchants
-client.merchants.list() -> ListMerchantsResponse
+client.merchants.list() -> SyncPagingIterable<Merchant>
-
@@ -11040,7 +11040,7 @@ The payment total must match the order total.
## Payments
-client.payments.list() -> ListPaymentsResponse
+client.payments.list() -> SyncPagingIterable<Payment>
-
@@ -12053,7 +12053,7 @@ the update fails and a response with a VERSION_MISMATCH error is returned.
## Payouts
-client.payouts.list() -> ListPayoutsResponse
+client.payouts.list() -> SyncPagingIterable<Payout>
-
@@ -12248,7 +12248,7 @@ client.payouts().get(
-client.payouts.listEntries(payoutId) -> ListPayoutEntriesResponse
+client.payouts.listEntries(payoutId) -> SyncPagingIterable<PayoutEntry>
-
@@ -12347,7 +12347,7 @@ Default: `100`
## Refunds
-client.refunds.list() -> ListPaymentRefundsResponse
+client.refunds.list() -> SyncPagingIterable<PaymentRefund>
-
@@ -13912,7 +13912,7 @@ client.subscriptions().cancel(
-client.subscriptions.listEvents(subscriptionId) -> ListSubscriptionEventsResponse
+client.subscriptions.listEvents(subscriptionId) -> SyncPagingIterable<SubscriptionEvent>
-
@@ -15528,7 +15528,7 @@ any valid string but must be unique for every CreateTransferOrder request.
-client.transferOrders.search(request) -> SearchTransferOrdersResponse
+client.transferOrders.search(request) -> SyncPagingIterable<TransferOrder>
-
@@ -16763,7 +16763,7 @@ client.vendors().update(
## Bookings CustomAttributeDefinitions
-client.bookings.customAttributeDefinitions.list() -> ListBookingCustomAttributeDefinitionsResponse
+client.bookings.customAttributeDefinitions.list() -> SyncPagingIterable<CustomAttributeDefinition>
-
@@ -17343,7 +17343,7 @@ information needed to create or update a custom attribute.
-client.bookings.customAttributes.list(bookingId) -> ListBookingCustomAttributesResponse
+client.bookings.customAttributes.list(bookingId) -> SyncPagingIterable<CustomAttribute>
-
@@ -17736,7 +17736,7 @@ definition owner, you must use the qualified key.
## Bookings LocationProfiles
-client.bookings.locationProfiles.list() -> ListLocationBookingProfilesResponse
+client.bookings.locationProfiles.list() -> SyncPagingIterable<LocationBookingProfile>
-
@@ -17805,7 +17805,7 @@ client.bookings().locationProfiles().list(
## Bookings TeamMemberProfiles
-client.bookings.teamMemberProfiles.list() -> ListTeamMemberBookingProfilesResponse
+client.bookings.teamMemberProfiles.list() -> SyncPagingIterable<TeamMemberBookingProfile>
-
@@ -17951,7 +17951,7 @@ client.bookings().teamMemberProfiles().get(
## CashDrawers Shifts
-client.cashDrawers.shifts.list() -> ListCashDrawerShiftsResponse
+client.cashDrawers.shifts.list() -> SyncPagingIterable<CashDrawerShiftSummary>
-
@@ -18131,7 +18131,7 @@ client.cashDrawers().shifts().get(
-client.cashDrawers.shifts.listEvents(shiftId) -> ListCashDrawerShiftEventsResponse
+client.cashDrawers.shifts.listEvents(shiftId) -> SyncPagingIterable<CashDrawerShiftEvent>
-
@@ -18617,7 +18617,7 @@ catalog item will delete its catalog item variations).
## Checkout PaymentLinks
-client.checkout.paymentLinks.list() -> ListPaymentLinksResponse
+client.checkout.paymentLinks.list() -> SyncPagingIterable<PaymentLink>
-
@@ -19044,7 +19044,7 @@ client.checkout().paymentLinks().delete(
## Customers CustomAttributeDefinitions
-client.customers.customAttributeDefinitions.list() -> ListCustomerCustomAttributeDefinitionsResponse
+client.customers.customAttributeDefinitions.list() -> SyncPagingIterable<CustomAttributeDefinition>
-
@@ -19611,7 +19611,7 @@ information needed to create or update a custom attribute.
## Customers Groups
-client.customers.groups.list() -> ListCustomerGroupsResponse
+client.customers.groups.list() -> SyncPagingIterable<CustomerGroup>
-
@@ -20097,7 +20097,7 @@ client.customers().groups().remove(
## Customers Segments
-client.customers.segments.list() -> ListCustomerSegmentsResponse
+client.customers.segments.list() -> SyncPagingIterable<CustomerSegment>
-
@@ -20431,7 +20431,7 @@ client.customers().cards().delete(
## Customers CustomAttributes
-client.customers.customAttributes.list(customerId) -> ListCustomerCustomAttributesResponse
+client.customers.customAttributes.list(customerId) -> SyncPagingIterable<CustomAttribute>
-
@@ -20833,7 +20833,7 @@ definition owner, you must use the qualified key.
## Devices Codes
-client.devices.codes.list() -> ListDeviceCodesResponse
+client.devices.codes.list() -> SyncPagingIterable<DeviceCode>
-
@@ -21074,7 +21074,7 @@ client.devices().codes().get(
## Disputes Evidence
-client.disputes.evidence.list(disputeId) -> ListDisputeEvidenceResponse
+client.disputes.evidence.list(disputeId) -> SyncPagingIterable<DisputeEvidence>
-
@@ -21286,7 +21286,7 @@ client.disputes().evidence().delete(
## GiftCards Activities
-client.giftCards.activities.list() -> ListGiftCardActivitiesResponse
+client.giftCards.activities.list() -> SyncPagingIterable<GiftCardActivity>
-
@@ -21527,7 +21527,7 @@ gift card, the `location_id` where the activity occurred, and the activity `type
## Labor BreakTypes
-client.labor.breakTypes.list() -> ListBreakTypesResponse
+client.labor.breakTypes.list() -> SyncPagingIterable<BreakType>
-
@@ -21897,7 +21897,7 @@ client.labor().breakTypes().delete(
## Labor EmployeeWages
-client.labor.employeeWages.list() -> ListEmployeeWagesResponse
+client.labor.employeeWages.list() -> SyncPagingIterable<EmployeeWage>
-
@@ -22517,7 +22517,7 @@ client.labor().shifts().delete(
## Labor TeamMemberWages
-client.labor.teamMemberWages.list() -> ListTeamMemberWagesResponse
+client.labor.teamMemberWages.list() -> SyncPagingIterable<TeamMemberWage>
-
@@ -22660,7 +22660,7 @@ client.labor().teamMemberWages().get(
## Labor WorkweekConfigs
-client.labor.workweekConfigs.list() -> ListWorkweekConfigsResponse
+client.labor.workweekConfigs.list() -> SyncPagingIterable<WorkweekConfig>
-
@@ -22804,7 +22804,7 @@ client.labor().workweekConfigs().get(
## Locations CustomAttributeDefinitions
-client.locations.customAttributeDefinitions.list() -> ListLocationCustomAttributeDefinitionsResponse
+client.locations.customAttributeDefinitions.list() -> SyncPagingIterable<CustomAttributeDefinition>
-
@@ -23418,7 +23418,7 @@ information needed to create or update a custom attribute.
-client.locations.customAttributes.list(locationId) -> ListLocationCustomAttributesResponse
+client.locations.customAttributes.list(locationId) -> SyncPagingIterable<CustomAttribute>
-
@@ -25232,7 +25232,7 @@ Keys can be any valid string, but must be unique for every request.
## Loyalty Programs Promotions
-client.loyalty.programs.promotions.list(programId) -> ListLoyaltyPromotionsResponse
+client.loyalty.programs.promotions.list(programId) -> SyncPagingIterable<LoyaltyPromotion>
-
@@ -25615,7 +25615,7 @@ promotion that has an `ACTIVE` or `SCHEDULED` status.
## Merchants CustomAttributeDefinitions
-client.merchants.customAttributeDefinitions.list() -> ListMerchantCustomAttributeDefinitionsResponse
+client.merchants.customAttributeDefinitions.list() -> SyncPagingIterable<CustomAttributeDefinition>
-
@@ -26213,7 +26213,7 @@ information needed to create or update a custom attribute.
-client.merchants.customAttributes.list(merchantId) -> ListMerchantCustomAttributesResponse
+client.merchants.customAttributes.list(merchantId) -> SyncPagingIterable<CustomAttribute>
-
@@ -26612,7 +26612,7 @@ definition owner, you must use the qualified key.
## Orders CustomAttributeDefinitions
-client.orders.customAttributeDefinitions.list() -> ListOrderCustomAttributeDefinitionsResponse
+client.orders.customAttributeDefinitions.list() -> SyncPagingIterable<CustomAttributeDefinition>
-
@@ -27214,7 +27214,7 @@ client.orders().customAttributes().batchUpsert(
-client.orders.customAttributes.list(orderId) -> ListOrderCustomAttributesResponse
+client.orders.customAttributes.list(orderId) -> SyncPagingIterable<CustomAttribute>
-
@@ -28780,7 +28780,7 @@ client.webhooks().eventTypes().list(
## Webhooks Subscriptions
-client.webhooks.subscriptions.list() -> ListWebhookSubscriptionsResponse
+client.webhooks.subscriptions.list() -> SyncPagingIterable<WebhookSubscription>
-
diff --git a/src/main/java/com/squareup/square/AsyncDisputesClient.java b/src/main/java/com/squareup/square/AsyncDisputesClient.java
index 614412a1..1469306c 100644
--- a/src/main/java/com/squareup/square/AsyncDisputesClient.java
+++ b/src/main/java/com/squareup/square/AsyncDisputesClient.java
@@ -20,8 +20,10 @@
import com.squareup.square.types.ListDisputesRequest;
import com.squareup.square.types.SubmitEvidenceDisputesRequest;
import com.squareup.square.types.SubmitEvidenceResponse;
+import java.io.InputStream;
import java.util.concurrent.CompletableFuture;
import java.util.function.Supplier;
+import okhttp3.MediaType;
public class AsyncDisputesClient {
protected final ClientOptions clientOptions;
@@ -118,6 +120,30 @@ public CompletableFuture createEvidenceFile(
return this.rawClient.createEvidenceFile(request, requestOptions).thenApply(response -> response.body());
}
+ public CompletableFuture createEvidenceFile(
+ InputStream stream, String filename) {
+ return this.rawClient.createEvidenceFile(stream, filename).thenApply(response -> response.body());
+ }
+
+ public CompletableFuture createEvidenceFile(
+ InputStream stream, String filename, MediaType mediaType) {
+ return this.rawClient.createEvidenceFile(stream, filename, mediaType).thenApply(response -> response.body());
+ }
+
+ public CompletableFuture createEvidenceFile(
+ InputStream stream, String filename, RequestOptions requestOptions) {
+ return this.rawClient
+ .createEvidenceFile(stream, filename, requestOptions)
+ .thenApply(response -> response.body());
+ }
+
+ public CompletableFuture createEvidenceFile(
+ InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) {
+ return this.rawClient
+ .createEvidenceFile(stream, filename, mediaType, requestOptions)
+ .thenApply(response -> response.body());
+ }
+
/**
* Uploads text to use as evidence for a dispute challenge.
*/
diff --git a/src/main/java/com/squareup/square/AsyncInvoicesClient.java b/src/main/java/com/squareup/square/AsyncInvoicesClient.java
index 23eaef9c..64583bf4 100644
--- a/src/main/java/com/squareup/square/AsyncInvoicesClient.java
+++ b/src/main/java/com/squareup/square/AsyncInvoicesClient.java
@@ -26,7 +26,9 @@
import com.squareup.square.types.SearchInvoicesResponse;
import com.squareup.square.types.UpdateInvoiceRequest;
import com.squareup.square.types.UpdateInvoiceResponse;
+import java.io.InputStream;
import java.util.concurrent.CompletableFuture;
+import okhttp3.MediaType;
public class AsyncInvoicesClient {
protected final ClientOptions clientOptions;
@@ -190,6 +192,32 @@ public CompletableFuture createInvoiceAttachmen
return this.rawClient.createInvoiceAttachment(request, requestOptions).thenApply(response -> response.body());
}
+ public CompletableFuture createInvoiceAttachment(
+ InputStream stream, String filename) {
+ return this.rawClient.createInvoiceAttachment(stream, filename).thenApply(response -> response.body());
+ }
+
+ public CompletableFuture createInvoiceAttachment(
+ InputStream stream, String filename, MediaType mediaType) {
+ return this.rawClient
+ .createInvoiceAttachment(stream, filename, mediaType)
+ .thenApply(response -> response.body());
+ }
+
+ public CompletableFuture createInvoiceAttachment(
+ InputStream stream, String filename, RequestOptions requestOptions) {
+ return this.rawClient
+ .createInvoiceAttachment(stream, filename, requestOptions)
+ .thenApply(response -> response.body());
+ }
+
+ public CompletableFuture createInvoiceAttachment(
+ InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) {
+ return this.rawClient
+ .createInvoiceAttachment(stream, filename, mediaType, requestOptions)
+ .thenApply(response -> response.body());
+ }
+
/**
* Removes an attachment from an invoice and permanently deletes the file. Attachments can be removed only
* from invoices in the
DRAFT, SCHEDULED, UNPAID, or PARTIALLY_PAID state.
diff --git a/src/main/java/com/squareup/square/AsyncRawApplePayClient.java b/src/main/java/com/squareup/square/AsyncRawApplePayClient.java
index dd2daec3..c7e7cf02 100644
--- a/src/main/java/com/squareup/square/AsyncRawApplePayClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawApplePayClient.java
@@ -93,19 +93,16 @@ public CompletableFuture> regis
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RegisterDomainResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, RegisterDomainResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawBankAccountsClient.java b/src/main/java/com/squareup/square/AsyncRawBankAccountsClient.java
index f8723ab5..94ad3043 100644
--- a/src/main/java/com/squareup/square/AsyncRawBankAccountsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawBankAccountsClient.java
@@ -91,9 +91,10 @@ public CompletableFuture startingAfter = parsedResponse.getCursor();
ListBankAccountsRequest nextRequest = ListBankAccountsRequest.builder()
.from(request)
@@ -102,24 +103,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
List result =
parsedResponse.getBankAccounts().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -167,19 +166,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetBankAccountByV1IdResponse.class),
+ responseBodyString, GetBankAccountByV1IdResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -228,19 +225,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetBankAccountResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetBankAccountResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawBookingsClient.java b/src/main/java/com/squareup/square/AsyncRawBookingsClient.java
index 39a41c10..1216b65b 100644
--- a/src/main/java/com/squareup/square/AsyncRawBookingsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawBookingsClient.java
@@ -128,9 +128,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListBookingsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListBookingsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListBookingsResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListBookingsRequest nextRequest = ListBookingsRequest.builder()
.from(request)
@@ -138,24 +139,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getBookings().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -233,18 +232,16 @@ public CompletableFuture> create
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CreateBookingResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateBookingResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -303,19 +300,17 @@ public CompletableFuture> s
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchAvailabilityResponse.class),
+ responseBodyString, SearchAvailabilityResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -374,19 +369,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkRetrieveBookingsResponse.class),
+ responseBodyString, BulkRetrieveBookingsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -433,19 +426,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetBusinessBookingProfileResponse.class),
+ responseBodyString, GetBusinessBookingProfileResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -495,19 +486,17 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveLocationBookingProfileResponse.class),
+ responseBodyString, RetrieveLocationBookingProfileResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -564,19 +553,17 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkRetrieveTeamMemberBookingProfilesResponse.class),
+ responseBodyString, BulkRetrieveTeamMemberBookingProfilesResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -627,18 +614,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetBookingResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetBookingResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -701,18 +686,16 @@ public CompletableFuture> update
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), UpdateBookingResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateBookingResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -776,18 +759,16 @@ public CompletableFuture> cancel
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CancelBookingResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CancelBookingResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawCardsClient.java b/src/main/java/com/squareup/square/AsyncRawCardsClient.java
index 26d9f3e3..b4368aad 100644
--- a/src/main/java/com/squareup/square/AsyncRawCardsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawCardsClient.java
@@ -106,9 +106,10 @@ public CompletableFuture>> lis
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListCardsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListCardsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListCardsResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListCardsRequest nextRequest = ListCardsRequest.builder()
.from(request)
@@ -116,7 +117,7 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getCards().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
+ new SyncPagingIterable(startingAfter.isPresent(), result, parsedResponse, () -> {
try {
return list(nextRequest, requestOptions)
.get()
@@ -128,12 +129,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -187,18 +185,16 @@ public CompletableFuture> create(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CreateCardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -245,18 +241,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetCardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -306,18 +300,16 @@ public CompletableFuture> disable(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), DisableCardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DisableCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawCatalogClient.java b/src/main/java/com/squareup/square/AsyncRawCatalogClient.java
index abf57df2..d65f7705 100644
--- a/src/main/java/com/squareup/square/AsyncRawCatalogClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawCatalogClient.java
@@ -118,19 +118,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchDeleteCatalogObjectsResponse.class),
+ responseBodyString, BatchDeleteCatalogObjectsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -195,19 +193,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchGetCatalogObjectsResponse.class),
+ responseBodyString, BatchGetCatalogObjectsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -285,19 +281,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchUpsertCatalogObjectsResponse.class),
+ responseBodyString, BatchUpsertCatalogObjectsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -344,18 +338,16 @@ public CompletableFuture> info(Req
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CatalogInfoResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CatalogInfoResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -436,9 +428,10 @@ public CompletableFuture startingAfter = parsedResponse.getCursor();
ListCatalogRequest nextRequest = ListCatalogRequest.builder()
.from(request)
@@ -446,24 +439,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getObjects().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -552,19 +543,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchCatalogObjectsResponse.class),
+ responseBodyString, SearchCatalogObjectsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -653,19 +642,17 @@ public CompletableFuture> s
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchCatalogItemsResponse.class),
+ responseBodyString, SearchCatalogItemsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -724,19 +711,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateItemModifierListsResponse.class),
+ responseBodyString, UpdateItemModifierListsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -795,19 +780,16 @@ public CompletableFuture> upda
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateItemTaxesResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateItemTaxesResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawChannelsClient.java b/src/main/java/com/squareup/square/AsyncRawChannelsClient.java
index 4f9f25b7..9ca8fc0b 100644
--- a/src/main/java/com/squareup/square/AsyncRawChannelsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawChannelsClient.java
@@ -92,9 +92,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListChannelsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListChannelsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListChannelsResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListChannelsRequest nextRequest = ListChannelsRequest.builder()
.from(request)
@@ -102,24 +103,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getChannels().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -168,19 +167,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkRetrieveChannelsResponse.class),
+ responseBodyString, BulkRetrieveChannelsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -221,19 +218,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveChannelResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, RetrieveChannelResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawCheckoutClient.java b/src/main/java/com/squareup/square/AsyncRawCheckoutClient.java
index 720944b0..ac9c907b 100644
--- a/src/main/java/com/squareup/square/AsyncRawCheckoutClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawCheckoutClient.java
@@ -72,19 +72,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveLocationSettingsResponse.class),
+ responseBodyString, RetrieveLocationSettingsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -140,19 +138,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateLocationSettingsResponse.class),
+ responseBodyString, UpdateLocationSettingsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -199,19 +195,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveMerchantSettingsResponse.class),
+ responseBodyString, RetrieveMerchantSettingsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -266,19 +260,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateMerchantSettingsResponse.class),
+ responseBodyString, UpdateMerchantSettingsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawCustomersClient.java b/src/main/java/com/squareup/square/AsyncRawCustomersClient.java
index f13859f1..13a0b377 100644
--- a/src/main/java/com/squareup/square/AsyncRawCustomersClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawCustomersClient.java
@@ -125,9 +125,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListCustomersResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListCustomersResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListCustomersResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListCustomersRequest nextRequest = ListCustomersRequest.builder()
.from(request)
@@ -135,24 +136,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getCustomers().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -240,19 +239,16 @@ public CompletableFuture> creat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateCustomerResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateCustomerResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -325,19 +321,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkCreateCustomersResponse.class),
+ responseBodyString, BulkCreateCustomersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -394,19 +388,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkDeleteCustomersResponse.class),
+ responseBodyString, BulkDeleteCustomersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -463,19 +455,17 @@ public CompletableFuture
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkRetrieveCustomersResponse.class),
+ responseBodyString, BulkRetrieveCustomersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -532,19 +522,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkUpdateCustomersResponse.class),
+ responseBodyString, BulkUpdateCustomersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -623,19 +611,16 @@ public CompletableFuture> sear
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchCustomersResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SearchCustomersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -682,18 +667,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetCustomerResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetCustomerResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -752,19 +735,16 @@ public CompletableFuture> updat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateCustomerResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateCustomerResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -816,19 +796,16 @@ public CompletableFuture> delet
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), DeleteCustomerResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DeleteCustomerResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawDevicesClient.java b/src/main/java/com/squareup/square/AsyncRawDevicesClient.java
index 6d201134..fbf38cb8 100644
--- a/src/main/java/com/squareup/square/AsyncRawDevicesClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawDevicesClient.java
@@ -95,9 +95,10 @@ public CompletableFuture>> l
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListDevicesResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListDevicesResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListDevicesResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListDevicesRequest nextRequest = ListDevicesRequest.builder()
.from(request)
@@ -105,24 +106,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getDevices().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -169,18 +168,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetDeviceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetDeviceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawDisputesClient.java b/src/main/java/com/squareup/square/AsyncRawDisputesClient.java
index e38fe116..68bdcd68 100644
--- a/src/main/java/com/squareup/square/AsyncRawDisputesClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawDisputesClient.java
@@ -5,6 +5,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.squareup.square.core.ClientOptions;
+import com.squareup.square.core.FileStream;
import com.squareup.square.core.MediaTypes;
import com.squareup.square.core.ObjectMappers;
import com.squareup.square.core.QueryStringMapper;
@@ -27,6 +28,7 @@
import com.squareup.square.types.SubmitEvidenceDisputesRequest;
import com.squareup.square.types.SubmitEvidenceResponse;
import java.io.IOException;
+import java.io.InputStream;
import java.nio.file.Files;
import java.util.Collections;
import java.util.List;
@@ -102,9 +104,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListDisputesResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListDisputesResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListDisputesResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListDisputesRequest nextRequest = ListDisputesRequest.builder()
.from(request)
@@ -112,24 +115,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getDisputes().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -176,18 +177,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetDisputeResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetDisputeResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -241,18 +240,16 @@ public CompletableFuture> accept
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), AcceptDisputeResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, AcceptDisputeResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -288,10 +285,10 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateDisputeEvidenceFileResponse.class),
+ responseBodyString, CreateDisputeEvidenceFileResponse.class),
response));
return;
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createEvidenceFile(
+ InputStream stream, String filename) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/disputes")
+ .addPathSegment(request.getDisputeId())
+ .addPathSegments("evidence-files")
+ .build();
+ FileStream fs = new FileStream(stream, filename, null);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ CompletableFuture> future =
+ new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateDisputeEvidenceFileResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createEvidenceFile(
+ InputStream stream, String filename, MediaType mediaType) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/disputes")
+ .addPathSegment(request.getDisputeId())
+ .addPathSegments("evidence-files")
+ .build();
+ FileStream fs = new FileStream(stream, filename, mediaType);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ CompletableFuture> future =
+ new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateDisputeEvidenceFileResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createEvidenceFile(
+ InputStream stream, String filename, RequestOptions requestOptions) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/disputes")
+ .addPathSegment(request.getDisputeId())
+ .addPathSegments("evidence-files")
+ .build();
+ FileStream fs = new FileStream(stream, filename, null);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
+ client = clientOptions.httpClientWithTimeout(requestOptions);
+ }
+ CompletableFuture> future =
+ new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateDisputeEvidenceFileResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createEvidenceFile(
+ InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/disputes")
+ .addPathSegment(request.getDisputeId())
+ .addPathSegments("evidence-files")
+ .build();
+ FileStream fs = new FileStream(stream, filename, mediaType);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
+ client = clientOptions.httpClientWithTimeout(requestOptions);
+ }
+ CompletableFuture> future =
+ new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateDisputeEvidenceFileResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -395,19 +592,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateDisputeEvidenceTextResponse.class),
+ responseBodyString, CreateDisputeEvidenceTextResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -466,19 +661,16 @@ public CompletableFuture> submi
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SubmitEvidenceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SubmitEvidenceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawEmployeesClient.java b/src/main/java/com/squareup/square/AsyncRawEmployeesClient.java
index 8f1ea66a..43f269f1 100644
--- a/src/main/java/com/squareup/square/AsyncRawEmployeesClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawEmployeesClient.java
@@ -84,9 +84,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListEmployeesResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListEmployeesResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListEmployeesResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListEmployeesRequest nextRequest = ListEmployeesRequest.builder()
.from(request)
@@ -94,24 +95,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getEmployees().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -152,18 +151,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetEmployeeResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetEmployeeResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawEventsClient.java b/src/main/java/com/squareup/square/AsyncRawEventsClient.java
index c6b880b8..dd4c3eb6 100644
--- a/src/main/java/com/squareup/square/AsyncRawEventsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawEventsClient.java
@@ -84,18 +84,16 @@ public CompletableFuture> searchE
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), SearchEventsResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SearchEventsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -145,18 +143,16 @@ public CompletableFuture> disabl
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), DisableEventsResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DisableEventsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -202,18 +198,16 @@ public CompletableFuture> enableE
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), EnableEventsResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, EnableEventsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -270,19 +264,16 @@ public CompletableFuture> listE
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), ListEventTypesResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListEventTypesResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawGiftCardsClient.java b/src/main/java/com/squareup/square/AsyncRawGiftCardsClient.java
index bf91dda6..00ae0015 100644
--- a/src/main/java/com/squareup/square/AsyncRawGiftCardsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawGiftCardsClient.java
@@ -113,9 +113,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListGiftCardsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListGiftCardsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListGiftCardsResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListGiftCardsRequest nextRequest = ListGiftCardsRequest.builder()
.from(request)
@@ -123,24 +124,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getGiftCards().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -202,19 +201,16 @@ public CompletableFuture> creat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateGiftCardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateGiftCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -269,19 +265,17 @@ public CompletableFuture> g
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetGiftCardFromGanResponse.class),
+ responseBodyString, GetGiftCardFromGanResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -336,19 +330,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetGiftCardFromNonceResponse.class),
+ responseBodyString, GetGiftCardFromNonceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -405,19 +397,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), LinkCustomerToGiftCardResponse.class),
+ responseBodyString, LinkCustomerToGiftCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -475,19 +465,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UnlinkCustomerFromGiftCardResponse.class),
+ responseBodyString, UnlinkCustomerFromGiftCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -534,18 +522,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetGiftCardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetGiftCardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawInventoryClient.java b/src/main/java/com/squareup/square/AsyncRawInventoryClient.java
index 44379820..6de8d935 100644
--- a/src/main/java/com/squareup/square/AsyncRawInventoryClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawInventoryClient.java
@@ -92,19 +92,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetInventoryAdjustmentResponse.class),
+ responseBodyString, GetInventoryAdjustmentResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -154,19 +152,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetInventoryAdjustmentResponse.class),
+ responseBodyString, GetInventoryAdjustmentResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -223,19 +219,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchChangeInventoryResponse.class),
+ responseBodyString, BatchChangeInventoryResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -302,19 +296,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchGetInventoryChangesResponse.class),
+ responseBodyString, BatchGetInventoryChangesResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -379,19 +371,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchGetInventoryCountsResponse.class),
+ responseBodyString, BatchGetInventoryCountsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -452,19 +442,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchChangeInventoryResponse.class),
+ responseBodyString, BatchChangeInventoryResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -542,9 +530,10 @@ public CompletableFuture startingAfter = parsedResponse.getCursor();
BatchRetrieveInventoryChangesRequest nextRequest =
BatchRetrieveInventoryChangesRequest.builder()
@@ -554,24 +543,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
List result =
parsedResponse.getChanges().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return batchGetChanges(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return batchGetChanges(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -658,9 +645,10 @@ public CompletableFuture startingAfter = parsedResponse.getCursor();
BatchGetInventoryCountsRequest nextRequest = BatchGetInventoryCountsRequest.builder()
.from(request)
@@ -668,24 +656,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getCounts().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return batchGetCounts(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return batchGetCounts(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -736,19 +722,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetInventoryPhysicalCountResponse.class),
+ responseBodyString, GetInventoryPhysicalCountResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -799,19 +783,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetInventoryPhysicalCountResponse.class),
+ responseBodyString, GetInventoryPhysicalCountResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -861,19 +843,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), GetInventoryTransferResponse.class),
+ responseBodyString, GetInventoryTransferResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -935,9 +915,10 @@ public CompletableFuture startingAfter = parsedResponse.getCursor();
GetInventoryRequest nextRequest = GetInventoryRequest.builder()
.from(request)
@@ -945,24 +926,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getCounts().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return get(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return get(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -1037,9 +1016,10 @@ public CompletableFuture startingAfter = parsedResponse.getCursor();
ChangesInventoryRequest nextRequest = ChangesInventoryRequest.builder()
.from(request)
@@ -1048,24 +1028,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
List result =
parsedResponse.getChanges().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return changes(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return changes(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawInvoicesClient.java b/src/main/java/com/squareup/square/AsyncRawInvoicesClient.java
index 68b3c5ad..00253cc2 100644
--- a/src/main/java/com/squareup/square/AsyncRawInvoicesClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawInvoicesClient.java
@@ -5,6 +5,7 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.squareup.square.core.ClientOptions;
+import com.squareup.square.core.FileStream;
import com.squareup.square.core.MediaTypes;
import com.squareup.square.core.ObjectMappers;
import com.squareup.square.core.QueryStringMapper;
@@ -35,6 +36,7 @@
import com.squareup.square.types.UpdateInvoiceRequest;
import com.squareup.square.types.UpdateInvoiceResponse;
import java.io.IOException;
+import java.io.InputStream;
import java.nio.file.Files;
import java.util.Collections;
import java.util.List;
@@ -104,9 +106,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListInvoicesResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListInvoicesResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListInvoicesResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListInvoicesRequest nextRequest = ListInvoicesRequest.builder()
.from(request)
@@ -114,24 +117,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getInvoices().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -191,18 +192,16 @@ public CompletableFuture> create
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CreateInvoiceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateInvoiceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -266,19 +265,16 @@ public CompletableFuture> searc
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchInvoicesResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SearchInvoicesResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -325,18 +321,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetInvoiceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetInvoiceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -397,18 +391,16 @@ public CompletableFuture> update
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), UpdateInvoiceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateInvoiceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -462,18 +454,16 @@ public CompletableFuture> delete
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), DeleteInvoiceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DeleteInvoiceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -517,10 +507,10 @@ public CompletableFuture(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateInvoiceAttachmentResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createInvoiceAttachment(
+ InputStream stream, String filename) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/invoices")
+ .addPathSegment(request.getInvoiceId())
+ .addPathSegments("attachments")
+ .build();
+ FileStream fs = new FileStream(stream, filename, null);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ CompletableFuture> future = new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateInvoiceAttachmentResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createInvoiceAttachment(
+ InputStream stream, String filename, MediaType mediaType) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/invoices")
+ .addPathSegment(request.getInvoiceId())
+ .addPathSegments("attachments")
+ .build();
+ FileStream fs = new FileStream(stream, filename, mediaType);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(null)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ CompletableFuture> future = new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateInvoiceAttachmentResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createInvoiceAttachment(
+ InputStream stream, String filename, RequestOptions requestOptions) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/invoices")
+ .addPathSegment(request.getInvoiceId())
+ .addPathSegments("attachments")
+ .build();
+ FileStream fs = new FileStream(stream, filename, null);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
+ client = clientOptions.httpClientWithTimeout(requestOptions);
+ }
+ CompletableFuture> future = new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateInvoiceAttachmentResponse.class),
+ responseBodyString, CreateInvoiceAttachmentResponse.class),
response));
return;
}
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
+ future.completeExceptionally(new SquareApiException(
+ "Error with status code " + response.code(), response.code(), errorBody, response));
+ return;
+ } catch (IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ }
+
+ @Override
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
+ future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
+ }
+ });
+ return future;
+ }
+
+ public CompletableFuture> createInvoiceAttachment(
+ InputStream stream, String filename, MediaType mediaType, RequestOptions requestOptions) {
+ HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
+ .newBuilder()
+ .addPathSegments("v2/invoices")
+ .addPathSegment(request.getInvoiceId())
+ .addPathSegments("attachments")
+ .build();
+ FileStream fs = new FileStream(stream, filename, mediaType);
+ MultipartBody.Builder multipartBodyBuilder = new MultipartBody.Builder().setType(MultipartBody.FORM);
+ multipartBodyBuilder.addFormDataPart("image_file", filename, fs.toRequestBody());
+ RequestBody body = multipartBodyBuilder.build();
+ Request.Builder _requestBuilder = new Request.Builder();
+ _requestBuilder.url(httpUrl);
+ _requestBuilder.method("POST", body);
+ _requestBuilder.headers(Headers.of(this.clientOptions.headers(requestOptions)));
+ Request okhttpRequest = _requestBuilder.build();
+ OkHttpClient client = clientOptions.httpClient();
+ if (requestOptions != null && requestOptions.getTimeout().isPresent()) {
+ client = clientOptions.httpClientWithTimeout(requestOptions);
+ }
+ CompletableFuture> future = new CompletableFuture<>();
+ client.newCall(okhttpRequest).enqueue(new Callback() {
+ @Override
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
+ try (ResponseBody responseBody = response.body()) {
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ if (response.isSuccessful()) {
+ future.complete(new SquareClientHttpResponse<>(
+ ObjectMappers.JSON_MAPPER.readValue(
+ responseBodyString, CreateInvoiceAttachmentResponse.class),
+ response));
+ return;
+ }
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -617,19 +803,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), DeleteInvoiceAttachmentResponse.class),
+ responseBodyString, DeleteInvoiceAttachmentResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -689,18 +873,16 @@ public CompletableFuture> cancel
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CancelInvoiceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CancelInvoiceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -776,19 +958,16 @@ public CompletableFuture> publi
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), PublishInvoiceResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, PublishInvoiceResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawLaborClient.java b/src/main/java/com/squareup/square/AsyncRawLaborClient.java
index 8e7656bb..83fe68d1 100644
--- a/src/main/java/com/squareup/square/AsyncRawLaborClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawLaborClient.java
@@ -109,19 +109,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateScheduledShiftResponse.class),
+ responseBodyString, CreateScheduledShiftResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -185,19 +183,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BulkPublishScheduledShiftsResponse.class),
+ responseBodyString, BulkPublishScheduledShiftsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -262,19 +258,17 @@ public CompletableFuture
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchScheduledShiftsResponse.class),
+ responseBodyString, SearchScheduledShiftsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -322,19 +316,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveScheduledShiftResponse.class),
+ responseBodyString, RetrieveScheduledShiftResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -410,19 +402,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateScheduledShiftResponse.class),
+ responseBodyString, UpdateScheduledShiftResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -481,19 +471,17 @@ public CompletableFuture
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), PublishScheduledShiftResponse.class),
+ responseBodyString, PublishScheduledShiftResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -584,19 +572,16 @@ public CompletableFuture> creat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateTimecardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateTimecardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -706,19 +691,16 @@ public CompletableFuture> sear
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchTimecardsResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SearchTimecardsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -766,19 +748,16 @@ public CompletableFuture> ret
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveTimecardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, RetrieveTimecardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -842,19 +821,16 @@ public CompletableFuture> updat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateTimecardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateTimecardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -902,19 +878,16 @@ public CompletableFuture> delet
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), DeleteTimecardResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, DeleteTimecardResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawLocationsClient.java b/src/main/java/com/squareup/square/AsyncRawLocationsClient.java
index 879beddd..553bd8b3 100644
--- a/src/main/java/com/squareup/square/AsyncRawLocationsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawLocationsClient.java
@@ -72,18 +72,16 @@ public CompletableFuture> list(R
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListLocationsResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListLocationsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -162,19 +160,16 @@ public CompletableFuture> creat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateLocationResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateLocationResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -223,18 +218,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetLocationResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetLocationResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -289,19 +282,16 @@ public CompletableFuture> updat
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), UpdateLocationResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateLocationResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -366,19 +356,16 @@ public CompletableFuture> check
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateCheckoutResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateCheckoutResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawLoyaltyClient.java b/src/main/java/com/squareup/square/AsyncRawLoyaltyClient.java
index 2540f6f8..aa31a3d1 100644
--- a/src/main/java/com/squareup/square/AsyncRawLoyaltyClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawLoyaltyClient.java
@@ -95,19 +95,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), SearchLoyaltyEventsResponse.class),
+ responseBodyString, SearchLoyaltyEventsResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawMerchantsClient.java b/src/main/java/com/squareup/square/AsyncRawMerchantsClient.java
index aede5fe7..7683af5d 100644
--- a/src/main/java/com/squareup/square/AsyncRawMerchantsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawMerchantsClient.java
@@ -102,9 +102,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListMerchantsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListMerchantsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListMerchantsResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListMerchantsRequest nextRequest = ListMerchantsRequest.builder()
.from(request)
@@ -112,24 +113,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List result = parsedResponse.getMerchant().orElse(Collections.emptyList());
future.complete(new SquareClientHttpResponse<>(
- new SyncPagingIterable(startingAfter.isPresent(), result, () -> {
- try {
- return list(nextRequest, requestOptions)
- .get()
- .body();
- } catch (InterruptedException | ExecutionException e) {
- throw new RuntimeException(e);
- }
- }),
+ new SyncPagingIterable(
+ startingAfter.isPresent(), result, parsedResponse, () -> {
+ try {
+ return list(nextRequest, requestOptions)
+ .get()
+ .body();
+ } catch (InterruptedException | ExecutionException e) {
+ throw new RuntimeException(e);
+ }
+ }),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -176,18 +175,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetMerchantResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetMerchantResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawMobileClient.java b/src/main/java/com/squareup/square/AsyncRawMobileClient.java
index aa10140d..c6a5831b 100644
--- a/src/main/java/com/squareup/square/AsyncRawMobileClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawMobileClient.java
@@ -105,19 +105,17 @@ public CompletableFuture(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CreateMobileAuthorizationCodeResponse.class),
+ responseBodyString, CreateMobileAuthorizationCodeResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawOAuthClient.java b/src/main/java/com/squareup/square/AsyncRawOAuthClient.java
index 9d545ecd..f05fe7e6 100644
--- a/src/main/java/com/squareup/square/AsyncRawOAuthClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawOAuthClient.java
@@ -106,18 +106,16 @@ public CompletableFuture> revokeTo
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), RevokeTokenResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, RevokeTokenResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -211,18 +209,16 @@ public CompletableFuture> obtainTo
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ObtainTokenResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ObtainTokenResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -282,19 +278,17 @@ public CompletableFuture>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), RetrieveTokenStatusResponse.class),
+ responseBodyString, RetrieveTokenStatusResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -337,11 +331,9 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
return;
}
String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawOrdersClient.java b/src/main/java/com/squareup/square/AsyncRawOrdersClient.java
index e0c695c7..990b8541 100644
--- a/src/main/java/com/squareup/square/AsyncRawOrdersClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawOrdersClient.java
@@ -105,18 +105,16 @@ public CompletableFuture> create(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CreateOrderResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CreateOrderResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -172,19 +170,16 @@ public CompletableFuture> batch
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), BatchGetOrdersResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, BatchGetOrdersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -239,19 +234,16 @@ public CompletableFuture> calcu
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(
- responseBody.string(), CalculateOrderResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CalculateOrderResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -307,18 +299,16 @@ public CompletableFuture> clone(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), CloneOrderResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, CloneOrderResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -418,18 +408,16 @@ public CompletableFuture> search(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), SearchOrdersResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, SearchOrdersResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -476,18 +464,16 @@ public CompletableFuture> get(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), GetOrderResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, GetOrderResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -568,18 +554,16 @@ public CompletableFuture> update(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), UpdateOrderResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, UpdateOrderResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
@@ -659,18 +643,16 @@ public CompletableFuture> pay(
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
future.complete(new SquareClientHttpResponse<>(
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), PayOrderResponse.class),
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, PayOrderResponse.class),
response));
return;
}
- String responseBodyString = responseBody != null ? responseBody.string() : "{}";
+ Object errorBody = ObjectMappers.parseErrorBody(responseBodyString);
future.completeExceptionally(new SquareApiException(
- "Error with status code " + response.code(),
- response.code(),
- ObjectMappers.JSON_MAPPER.readValue(responseBodyString, Object.class),
- response));
+ "Error with status code " + response.code(), response.code(), errorBody, response));
return;
} catch (IOException e) {
future.completeExceptionally(new SquareException("Network error executing HTTP request", e));
diff --git a/src/main/java/com/squareup/square/AsyncRawPaymentsClient.java b/src/main/java/com/squareup/square/AsyncRawPaymentsClient.java
index 020f5c14..7b191908 100644
--- a/src/main/java/com/squareup/square/AsyncRawPaymentsClient.java
+++ b/src/main/java/com/squareup/square/AsyncRawPaymentsClient.java
@@ -164,9 +164,10 @@ public CompletableFuture>>
@Override
public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
try (ResponseBody responseBody = response.body()) {
+ String responseBodyString = responseBody != null ? responseBody.string() : "{}";
if (response.isSuccessful()) {
ListPaymentsResponse parsedResponse =
- ObjectMappers.JSON_MAPPER.readValue(responseBody.string(), ListPaymentsResponse.class);
+ ObjectMappers.JSON_MAPPER.readValue(responseBodyString, ListPaymentsResponse.class);
Optional startingAfter = parsedResponse.getCursor();
ListPaymentsRequest nextRequest = ListPaymentsRequest.builder()
.from(request)
@@ -174,24 +175,22 @@ public void onResponse(@NotNull Call call, @NotNull Response response) throws IO
.build();
List