
com.squareup.square.api.DefaultSitesApi Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of square Show documentation
Show all versions of square Show documentation
Java client library for the Square API
package com.squareup.square.api;
import com.squareup.square.ApiHelper;
import com.squareup.square.AuthManager;
import com.squareup.square.Configuration;
import com.squareup.square.exceptions.ApiException;
import com.squareup.square.http.Headers;
import com.squareup.square.http.client.HttpCallback;
import com.squareup.square.http.client.HttpClient;
import com.squareup.square.http.client.HttpContext;
import com.squareup.square.http.request.HttpRequest;
import com.squareup.square.http.response.HttpResponse;
import com.squareup.square.http.response.HttpStringResponse;
import com.squareup.square.models.ListSitesResponse;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
/**
* This class lists all the endpoints of the groups.
*/
public final class DefaultSitesApi extends BaseApi implements SitesApi {
/**
* Initializes the controller.
* @param config Configurations added in client.
* @param httpClient Send HTTP requests and read the responses.
* @param authManagers Apply authorization to requests.
*/
public DefaultSitesApi(Configuration config, HttpClient httpClient,
Map authManagers) {
super(config, httpClient, authManagers);
}
/**
* Initializes the controller with HTTPCallback.
* @param config Configurations added in client.
* @param httpClient Send HTTP requests and read the responses.
* @param authManagers Apply authorization to requests.
* @param httpCallback Callback to be called before and after the HTTP call.
*/
public DefaultSitesApi(Configuration config, HttpClient httpClient,
Map authManagers, HttpCallback httpCallback) {
super(config, httpClient, authManagers, httpCallback);
}
/**
* Lists the Square Online sites that belong to a seller. Sites are listed in descending order
* by the `created_at` date. __Note:__ Square Online APIs are publicly available as part of an
* early access program. For more information, see [Early access program for Square Online
* APIs](https://developer.squareup.com/docs/online-api#early-access-program-for-square-online-apis).
* @return Returns the ListSitesResponse response from the API call
* @throws ApiException Represents error response from the server.
* @throws IOException Signals that an I/O exception of some sort has occurred.
*/
public ListSitesResponse listSites() throws ApiException, IOException {
HttpRequest request = buildListSitesRequest();
authManagers.get("global").apply(request);
HttpResponse response = getClientInstance().execute(request, false);
HttpContext context = new HttpContext(request, response);
return handleListSitesResponse(context);
}
/**
* Lists the Square Online sites that belong to a seller. Sites are listed in descending order
* by the `created_at` date. __Note:__ Square Online APIs are publicly available as part of an
* early access program. For more information, see [Early access program for Square Online
* APIs](https://developer.squareup.com/docs/online-api#early-access-program-for-square-online-apis).
* @return Returns the ListSitesResponse response from the API call
*/
public CompletableFuture listSitesAsync() {
return makeHttpCallAsync(() -> buildListSitesRequest(),
req -> authManagers.get("global").applyAsync(req)
.thenCompose(request -> getClientInstance()
.executeAsync(request, false)),
context -> handleListSitesResponse(context));
}
/**
* Builds the HttpRequest object for listSites.
*/
private HttpRequest buildListSitesRequest() {
//the base uri for api requests
String baseUri = config.getBaseUri();
//prepare query string for API call
final StringBuilder queryBuilder = new StringBuilder(baseUri
+ "/v2/sites");
//load all headers for the outgoing API request
Headers headers = new Headers();
headers.add("Square-Version", config.getSquareVersion());
headers.add("user-agent", internalUserAgent);
headers.add("accept", "application/json");
headers.addAll(config.getAdditionalHeaders());
//prepare and invoke the API call request to fetch the response
HttpRequest request = getClientInstance().get(queryBuilder, headers, null, null);
// Invoke the callback before request if its not null
if (getHttpCallback() != null) {
getHttpCallback().onBeforeRequest(request);
}
return request;
}
/**
* Processes the response for listSites.
* @return An object of type ListSitesResponse
*/
private ListSitesResponse handleListSitesResponse(
HttpContext context) throws ApiException, IOException {
HttpResponse response = context.getResponse();
//invoke the callback after response if its not null
if (getHttpCallback() != null) {
getHttpCallback().onAfterResponse(context);
}
//handle errors defined at the API level
validateResponse(response, context);
//extract result from the http response
String responseBody = ((HttpStringResponse) response).getBody();
ListSitesResponse result = ApiHelper.deserialize(responseBody,
ListSitesResponse.class);
result = result.toBuilder().httpContext(context).build();
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy