Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.algolia.api.AbtestingClient Maven / Gradle / Ivy
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost
// - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
package com.algolia.api;
import com.algolia.ApiClient;
import com.algolia.config.*;
import com.algolia.config.ClientOptions;
import com.algolia.exceptions.*;
import com.algolia.model.abtesting.*;
import com.algolia.utils.*;
import com.fasterxml.jackson.core.type.TypeReference;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
public class AbtestingClient extends ApiClient {
private static final String[] allowedRegions = { "de", "us" };
public AbtestingClient(String appId, String apiKey) {
this(appId, apiKey, null, null);
}
public AbtestingClient(String appId, String apiKey, ClientOptions options) {
this(appId, apiKey, null, options);
}
public AbtestingClient(String appId, String apiKey, String region) {
this(appId, apiKey, region, null);
}
public AbtestingClient(String appId, String apiKey, String region, ClientOptions options) {
super(appId, apiKey, "Abtesting", options, getDefaultHosts(region));
}
private static List getDefaultHosts(String region) throws AlgoliaRuntimeException {
List hosts = new ArrayList<>();
boolean found = region == null;
if (region != null) {
for (String allowed : allowedRegions) {
if (allowed.equals(region)) {
found = true;
break;
}
}
}
if (!found) {
throw new AlgoliaRuntimeException("`region` must be one of the following: de, us");
}
String url = region == null ? "analytics.algolia.com" : "analytics.{region}.algolia.com".replace("{region}", region);
hosts.add(new Host(url, EnumSet.of(CallType.READ, CallType.WRITE)));
return hosts;
}
/**
* Creates an A/B test.
*
* @param addABTestsRequest (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTestResponse addABTests(AddABTestsRequest addABTestsRequest, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return LaunderThrowable.await(addABTestsAsync(addABTestsRequest, requestOptions));
}
/**
* Creates an A/B test.
*
* @param addABTestsRequest (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTestResponse addABTests(AddABTestsRequest addABTestsRequest) throws AlgoliaRuntimeException {
return this.addABTests(addABTestsRequest, null);
}
/**
* (asynchronously) Creates an A/B test.
*
* @param addABTestsRequest (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture addABTestsAsync(AddABTestsRequest addABTestsRequest, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
if (addABTestsRequest == null) {
throw new AlgoliaRuntimeException("Parameter `addABTestsRequest` is required when calling `addABTests`.");
}
HttpRequest request = HttpRequest.builder().setPath("/2/abtests").setMethod("POST").setBody(addABTestsRequest).build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) Creates an A/B test.
*
* @param addABTestsRequest (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture addABTestsAsync(AddABTestsRequest addABTestsRequest) throws AlgoliaRuntimeException {
return this.addABTestsAsync(addABTestsRequest, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object del(String path, Map parameters, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return LaunderThrowable.await(delAsync(path, parameters, requestOptions));
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object del(String path, Map parameters) throws AlgoliaRuntimeException {
return this.del(path, parameters, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object del(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.del(path, null, requestOptions);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object del(String path) throws AlgoliaRuntimeException {
return this.del(path, null, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture delAsync(String path, Map parameters, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
if (path == null) {
throw new AlgoliaRuntimeException("Parameter `path` is required when calling `del`.");
}
HttpRequest request = HttpRequest.builder().setPathEncoded("/1{path}", path).setMethod("DELETE").addQueryParameters(parameters).build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture delAsync(String path, Map parameters) throws AlgoliaRuntimeException {
return this.delAsync(path, parameters, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture delAsync(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.delAsync(path, null, requestOptions);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture delAsync(String path) throws AlgoliaRuntimeException {
return this.delAsync(path, null, null);
}
/**
* Delete an A/B test. To determine the `id` for an A/B test, use the [`listABTests`
* operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTestResponse deleteABTest(Integer id, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return LaunderThrowable.await(deleteABTestAsync(id, requestOptions));
}
/**
* Delete an A/B test. To determine the `id` for an A/B test, use the [`listABTests`
* operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTestResponse deleteABTest(Integer id) throws AlgoliaRuntimeException {
return this.deleteABTest(id, null);
}
/**
* (asynchronously) Delete an A/B test. To determine the `id` for an A/B test, use the
* [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture deleteABTestAsync(Integer id, RequestOptions requestOptions) throws AlgoliaRuntimeException {
if (id == null) {
throw new AlgoliaRuntimeException("Parameter `id` is required when calling `deleteABTest`.");
}
HttpRequest request = HttpRequest.builder().setPath("/2/abtests/{id}", id).setMethod("DELETE").build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) Delete an A/B test. To determine the `id` for an A/B test, use the
* [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture deleteABTestAsync(Integer id) throws AlgoliaRuntimeException {
return this.deleteABTestAsync(id, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object get(String path, Map parameters, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return LaunderThrowable.await(getAsync(path, parameters, requestOptions));
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object get(String path, Map parameters) throws AlgoliaRuntimeException {
return this.get(path, parameters, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object get(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.get(path, null, requestOptions);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object get(String path) throws AlgoliaRuntimeException {
return this.get(path, null, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture getAsync(String path, Map parameters, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
if (path == null) {
throw new AlgoliaRuntimeException("Parameter `path` is required when calling `get`.");
}
HttpRequest request = HttpRequest.builder().setPathEncoded("/1{path}", path).setMethod("GET").addQueryParameters(parameters).build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture getAsync(String path, Map parameters) throws AlgoliaRuntimeException {
return this.getAsync(path, parameters, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture getAsync(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.getAsync(path, null, requestOptions);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture getAsync(String path) throws AlgoliaRuntimeException {
return this.getAsync(path, null, null);
}
/**
* Get specific details for an A/B test. To determine the `id` for an A/B test, use the
* [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTest getABTest(Integer id, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return LaunderThrowable.await(getABTestAsync(id, requestOptions));
}
/**
* Get specific details for an A/B test. To determine the `id` for an A/B test, use the
* [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTest getABTest(Integer id) throws AlgoliaRuntimeException {
return this.getABTest(id, null);
}
/**
* (asynchronously) Get specific details for an A/B test. To determine the `id` for an
* A/B test, use the [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture getABTestAsync(Integer id, RequestOptions requestOptions) throws AlgoliaRuntimeException {
if (id == null) {
throw new AlgoliaRuntimeException("Parameter `id` is required when calling `getABTest`.");
}
HttpRequest request = HttpRequest.builder().setPath("/2/abtests/{id}", id).setMethod("GET").build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) Get specific details for an A/B test. To determine the `id` for an
* A/B test, use the [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture getABTestAsync(Integer id) throws AlgoliaRuntimeException {
return this.getABTestAsync(id, null);
}
/**
* List all A/B tests.
*
* @param offset Position of the starting record. Used for paging. 0 is the first record.
* (optional, default to 0)
* @param limit Number of records to return (page size). (optional, default to 10)
* @param indexPrefix Only return A/B tests for indices starting with this prefix. (optional)
* @param indexSuffix Only return A/B tests for indices ending with this suffix. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ListABTestsResponse listABTests(
Integer offset,
Integer limit,
String indexPrefix,
String indexSuffix,
RequestOptions requestOptions
) throws AlgoliaRuntimeException {
return LaunderThrowable.await(listABTestsAsync(offset, limit, indexPrefix, indexSuffix, requestOptions));
}
/**
* List all A/B tests.
*
* @param offset Position of the starting record. Used for paging. 0 is the first record.
* (optional, default to 0)
* @param limit Number of records to return (page size). (optional, default to 10)
* @param indexPrefix Only return A/B tests for indices starting with this prefix. (optional)
* @param indexSuffix Only return A/B tests for indices ending with this suffix. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ListABTestsResponse listABTests(Integer offset, Integer limit, String indexPrefix, String indexSuffix)
throws AlgoliaRuntimeException {
return this.listABTests(offset, limit, indexPrefix, indexSuffix, null);
}
/**
* List all A/B tests.
*
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ListABTestsResponse listABTests(RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.listABTests(null, null, null, null, requestOptions);
}
/**
* List all A/B tests.
*
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ListABTestsResponse listABTests() throws AlgoliaRuntimeException {
return this.listABTests(null, null, null, null, null);
}
/**
* (asynchronously) List all A/B tests.
*
* @param offset Position of the starting record. Used for paging. 0 is the first record.
* (optional, default to 0)
* @param limit Number of records to return (page size). (optional, default to 10)
* @param indexPrefix Only return A/B tests for indices starting with this prefix. (optional)
* @param indexSuffix Only return A/B tests for indices ending with this suffix. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture listABTestsAsync(
Integer offset,
Integer limit,
String indexPrefix,
String indexSuffix,
RequestOptions requestOptions
) throws AlgoliaRuntimeException {
HttpRequest request = HttpRequest
.builder()
.setPath("/2/abtests")
.setMethod("GET")
.addQueryParameter("offset", offset)
.addQueryParameter("limit", limit)
.addQueryParameter("indexPrefix", indexPrefix)
.addQueryParameter("indexSuffix", indexSuffix)
.build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) List all A/B tests.
*
* @param offset Position of the starting record. Used for paging. 0 is the first record.
* (optional, default to 0)
* @param limit Number of records to return (page size). (optional, default to 10)
* @param indexPrefix Only return A/B tests for indices starting with this prefix. (optional)
* @param indexSuffix Only return A/B tests for indices ending with this suffix. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture listABTestsAsync(Integer offset, Integer limit, String indexPrefix, String indexSuffix)
throws AlgoliaRuntimeException {
return this.listABTestsAsync(offset, limit, indexPrefix, indexSuffix, null);
}
/**
* (asynchronously) List all A/B tests.
*
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture listABTestsAsync(RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.listABTestsAsync(null, null, null, null, requestOptions);
}
/**
* (asynchronously) List all A/B tests.
*
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture listABTestsAsync() throws AlgoliaRuntimeException {
return this.listABTestsAsync(null, null, null, null, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object post(String path, Map parameters, Object body, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
return LaunderThrowable.await(postAsync(path, parameters, body, requestOptions));
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object post(String path, Map parameters, Object body) throws AlgoliaRuntimeException {
return this.post(path, parameters, body, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object post(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.post(path, null, null, requestOptions);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object post(String path) throws AlgoliaRuntimeException {
return this.post(path, null, null, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture postAsync(String path, Map parameters, Object body, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
if (path == null) {
throw new AlgoliaRuntimeException("Parameter `path` is required when calling `post`.");
}
HttpRequest request = HttpRequest
.builder()
.setPathEncoded("/1{path}", path)
.setMethod("POST")
.setBody(body)
.addQueryParameters(parameters)
.build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture postAsync(String path, Map parameters, Object body) throws AlgoliaRuntimeException {
return this.postAsync(path, parameters, body, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture postAsync(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.postAsync(path, null, null, requestOptions);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture postAsync(String path) throws AlgoliaRuntimeException {
return this.postAsync(path, null, null, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object put(String path, Map parameters, Object body, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
return LaunderThrowable.await(putAsync(path, parameters, body, requestOptions));
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object put(String path, Map parameters, Object body) throws AlgoliaRuntimeException {
return this.put(path, parameters, body, null);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object put(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.put(path, null, null, requestOptions);
}
/**
* This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public Object put(String path) throws AlgoliaRuntimeException {
return this.put(path, null, null, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture putAsync(String path, Map parameters, Object body, RequestOptions requestOptions)
throws AlgoliaRuntimeException {
if (path == null) {
throw new AlgoliaRuntimeException("Parameter `path` is required when calling `put`.");
}
HttpRequest request = HttpRequest
.builder()
.setPathEncoded("/1{path}", path)
.setMethod("PUT")
.setBody(body)
.addQueryParameters(parameters)
.build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param parameters Query parameters to apply to the current query. (optional)
* @param body Parameters to send with the custom request. (optional)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture putAsync(String path, Map parameters, Object body) throws AlgoliaRuntimeException {
return this.putAsync(path, parameters, body, null);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture putAsync(String path, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return this.putAsync(path, null, null, requestOptions);
}
/**
* (asynchronously) This method allow you to send requests to the Algolia REST API.
*
* @param path Path of the endpoint, anything after \"/1\" must be specified. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture putAsync(String path) throws AlgoliaRuntimeException {
return this.putAsync(path, null, null, null);
}
/**
* If stopped, the test is over and can't be restarted. There is now only one index, receiving
* 100% of all search requests. The data gathered for stopped A/B tests is retained. To determine
* the `id` for an A/B test, use the [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTestResponse stopABTest(Integer id, RequestOptions requestOptions) throws AlgoliaRuntimeException {
return LaunderThrowable.await(stopABTestAsync(id, requestOptions));
}
/**
* If stopped, the test is over and can't be restarted. There is now only one index, receiving
* 100% of all search requests. The data gathered for stopped A/B tests is retained. To determine
* the `id` for an A/B test, use the [`listABTests` operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public ABTestResponse stopABTest(Integer id) throws AlgoliaRuntimeException {
return this.stopABTest(id, null);
}
/**
* (asynchronously) If stopped, the test is over and can't be restarted. There is now only one
* index, receiving 100% of all search requests. The data gathered for stopped A/B tests is
* retained. To determine the `id` for an A/B test, use the [`listABTests`
* operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @param requestOptions The requestOptions to send along with the query, they will be merged with
* the transporter requestOptions.
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture stopABTestAsync(Integer id, RequestOptions requestOptions) throws AlgoliaRuntimeException {
if (id == null) {
throw new AlgoliaRuntimeException("Parameter `id` is required when calling `stopABTest`.");
}
HttpRequest request = HttpRequest.builder().setPath("/2/abtests/{id}/stop", id).setMethod("POST").build();
return executeAsync(request, requestOptions, new TypeReference() {});
}
/**
* (asynchronously) If stopped, the test is over and can't be restarted. There is now only one
* index, receiving 100% of all search requests. The data gathered for stopped A/B tests is
* retained. To determine the `id` for an A/B test, use the [`listABTests`
* operation](#tag/abtest/operation/listABTests).
*
* @param id Unique A/B test ID. (required)
* @throws AlgoliaRuntimeException If it fails to process the API call
*/
public CompletableFuture stopABTestAsync(Integer id) throws AlgoliaRuntimeException {
return this.stopABTestAsync(id, null);
}
}